NPWPs formatted exactly as Indonesia's tax authority issues them, so they pass field-level format validation in your app. Synthetic — not registered to anyone.
20.851.843.7-223.475| Browser | sampuli.site — pick Indonesia, generate, export CSV/JSON |
| REST API | curl https://sampuli.site/api/v1/id/tax?n=25 |
| npm | npx @sampuli/data id.tax |
| Node | import { generate } from '@sampuli/data'; generate('id.tax') |