Home🇧🇭 BahrainCPR Number

CPR Number generator (Bahrain)

A Bahraini CPR (personal number) is nine digits — birth year, birth month, a serial, and a final check digit whose algorithm is not published. These test values are synthetic and format-valid.

Synthetic · not collision-guaranteed Validate a number →
730152749

Synthetic CPR (format-valid). The check digit’s algorithm is not published.

Format specification

IdentifierCPR Number (Personal Number)
Country🇧🇭 Bahrain
Format000000000
Length9 characters
ChecksumNone
Example790495191
Safe strategy Synthetic
Data qualityBest-effort

CPR Number: what each part means

00 Last two digits of the year of birth.
00 Month of birth.
0000 Serial number.
0 Check digit (algorithm not published; test values use a random digit).

Validation regex

Matches the canonical value — strip separators and uppercase first: value.replace(/[^A-Za-z0-9]/g, '').toUpperCase()

^\d{9}$

References

  1. en.wikipedia.org/wiki/National_identification_number#Bahrain

Common questions

Will these pass my validation?

Yes — they are well-formed CPR Number values (000000000) and pass standard format checks.

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.

Validate an existing number →

For software testing only. These numbers are synthetic and must never be used for real-world identification, applications, or to impersonate anyone.