National Registration Number generator (Zimbabwe)
A Zimbabwean national registration number is a two-digit registration-office code, a six- or seven-digit serial, a MOD-23 check letter, and a two-digit district-of-origin code, formatted like 63-123456-A-12. These test values are synthetic but carry a valid check letter.
Synthetic registration number with a valid check letter. Not a real issued number.
Format specification
| Identifier | National Registration Number |
|---|---|
| Country | 🇿🇼 Zimbabwe |
| Format | 00-0000000-A-00 |
| Length | 11 or 12 characters |
| Checksum | MOD 23 letter |
| Example | 47-2913633-G-36 |
| Safe strategy | Synthetic |
| Data quality | Verified against sources |
National Registration Number: what each part means
| 00 | Registrar General’s office where the number was registered (e.g. 63 = Harare, 08 = Bulawayo). |
|---|---|
| 0000000 | Sequential serial (six or seven digits; these test values use seven). |
| A | Check letter: the office code and serial read as one number, mod 23, mapped through ZABCDEFGHJKLMNPQRSTVWXY (I, O and U are never used). |
| 00 | District of origin, traditionally inherited from the father (00 has been used for foreign nationals). Test values use random codes. |
Validation regex
Matches the canonical value — strip separators and uppercase first: value.replace(/[^A-Za-z0-9]/g, '').toUpperCase()
^\d{8,9}[A-HJ-NP-TV-Z]\d{2}$ References
Common questions
Will these pass my validation?
Yes — they are well-formed National Registration Number values (00-0000000-A-00) and pass standard format checks, including the MOD 23 letter checksum.
Could one belong to a real person?
These are synthetic values. They are format-valid but not drawn from a guaranteed reserved range, so use them only for testing.
Can I generate many at once?
Increase the count, or use the free API and CSV/JSON export for large datasets.