The US Social Security Administration has never issued a number beginning with 9, and never will — that range is permanently reserved. Every scheme here uses an equivalent safe range or a checksum-valid but unassigned value, so you get identifiers your validators accept and no living person owns.
What you can control
- US SSNs use area 9xx, which the SSA has permanently excluded from assignment.
- Brazilian CPFs carry correct mod-11 check digits, so they pass the validation most Brazilian forms apply.
- Canadian SINs are Luhn-valid and start with 9, the range set aside for temporary residents.
- Separators are optional, because half of all systems store these stripped and the other half formatted.
What this is not
These are structurally valid identifiers from ranges that are never issued. Never enter one on a real government, banking or credit form — a checksum-valid number in the wrong place is a much bigger problem than an obviously fake one.
Questions
Could one of these belong to a real person?
No. The US ranges are permanently unassigned, and the other schemes use reserved prefixes. They satisfy checksum rules without corresponding to an issued identifier.
Why do some numbers have valid check digits?
Because otherwise they would fail at the first validator and never exercise the rest of your code. A CPF that fails mod-11 tests your error path; one that passes tests everything after it.
Is it legal to generate these?
Generating structurally valid identifiers for testing is routine practice. Presenting one as your own on a real form is fraud in most jurisdictions. Keep them inside your test environment.