Generator · Danish data
Danish person
Endpoint GET /v1/dk/person
What it covers
Returns a mutually consistent synthetic Danish person: given name(s), surname, initials, birth date, and a matching CPR. Takes the same inputs as `/v1/dk/cpr` — `sex`, any combination of age/birth-date filters, `checksum`, and `format` (contradictory combinations are rejected with a 400). Set `invalid=true` for a person whose CPR has a deliberately wrong mod-11 check (birth date and sex stay valid). `edge=true` also makes second given names and double-barrelled surnames far more likely. Set `caseStrict=false` to deliberately mangle the name/surname casing.
Parameters
| Parameter | Type | Description |
|---|---|---|
| atAge | integer | Exact age in years at request time. |
| bornAfter | stringpattern ^\d{4}(?:-\d{2}(?:-\d{2})?)?$ | Born after this date or fragment (YYYY, YYYY-MM, YYYY-MM-DD). |
| bornBefore | stringpattern ^\d{4}(?:-\d{2}(?:-\d{2})?)?$ | Born before this date or fragment (YYYY, YYYY-MM, YYYY-MM-DD). |
| bornOn | stringpattern ^\d{4}(?:-\d{2}(?:-\d{2})?)?$ | Born on a date or within a fragment: YYYY, YYYY-MM, or YYYY-MM-DD. |
| caseStrict | boolean | Defaults to true (proper casing). Set false to deliberately mangle the casing of name and surname (all-lower, all-upper, or random); initials stay proper uppercase. |
| checksum | "modulus-11" | "none" | Checksum standard: `modulus-11` (default) or `none` (post-2007 model). |
| count | integer1–1000 | Number of records to return, 1–1000 (your plan may lower this). Omitted returns a single record; set it for a batch. |
| edge | boolean | Restrict output to edge-case values. |
| extreme | boolean | Return a correct person whose name and surname are wrapped in a hostile encoding (untrimmed whitespace, invisible/zero-width characters, BOM, homoglyph letters, or bidi/combining marks). initials, birthDate, and the national identifier stay clean. |
| format | "plain" | "with-hyphen" | Rendering: bare 10 digits (default) or `DDMMYY-SSSS`. |
| invalid | boolean | Return a CPR with a deliberately wrong mod-11 check; date/sex stay valid. |
| olderThan | integer | Minimum age in years at request time. |
| seed | integer | Integer seed for reproducible output: the same seed always yields the same record. |
| sex | "m" | "f" | Encoded sex: "m" or "f". |
| youngerThan | integer | Maximum age in years at request time. |
Response fields
| Field | Type | Description |
|---|---|---|
| name | string | Given (first) name(s), agreeing with the encoded sex. |
| surname | string | Surname, e.g. `Nielsen`. |
| initials | string | Uppercase initials of name and surname, no dots, e.g. `AN`. |
| birthDate | string | The birth date, ISO `YYYY-MM-DD`. |
| cpr | string | The matching CPR, rendered per the requested format. |
Other generators for Denmark
Danish companyDanish company nameDanish CPRDanish CVRDanish email addressDanish IBANDanish person nameDanish product or service offeringDanish vehicle registration plate
See all generators for Denmark →The same kind of identifier elsewhere
Austrian data · Austrian personBelgian data · Belgian personBulgarian data · Bulgarian personCroatian data · Croatian personCypriot data · Cypriot personCzech data · Czech personDutch data · Dutch personEstonian data · Estonian personFinnish data · Finnish personFrench data · French personGerman data · German personGreek data · Greek personHungarian data · Hungarian personIrish data · Irish personItalian data · Italian personLatvian data · Latvian personLithuanian data · Lithuanian personLuxembourg data · Luxembourg personMaltese data · Maltese personPolish data · Polish personPortuguese data · Portuguese personRomanian data · Romanian personSlovak data · Slovak personSlovenian data · Slovenian personSpanish data · Spanish personSwedish data · Swedish person
Try it