Cadmeo

Test Data Generators

These 11 test data generators produce identifiers, credentials and placeholder records for development and testing. Every one uses ranges reserved for exactly that purpose, so nothing generated here points at a real person, mailbox or telephone line.

11 tools

Why reserved ranges matter

Test data that looks real is a liability. An email address invented for a fixture can belong to somebody, a plausible telephone number reaches a real handset, and a card number that passes a checksum may belong to an account. Every generator in this group avoids that by drawing from ranges the relevant standards set aside for documentation and fiction.

Email addresses use the domains reserved by RFC 2606, which are guaranteed never to receive mail. Telephone numbers come from the 555-01xx block in North America and the corresponding reserved ranges in the United Kingdom. Card numbers are the published sandbox values the card networks provide for testing, which pass the Luhn check and are connected to no account.

The credential generators state entropy in bits rather than describing a password as strong. The password generator reports the exact figure for the alphabet and length you chose, and the token generator treats 128 bits as the practical minimum, which is 22 base62 characters or 32 hexadecimal characters.

Identifier tools follow their specifications exactly. The UUID generator produces both version 4, which is random, and version 7, which is time-ordered and sorts chronologically as a string. The MAC address generator sets the locally administered bit, so an address it produces cannot collide with a real vendor range.

Which generator for which fixture

Pick by what the field holds, since several of these produce superficially similar strings.

Which generator for which fixture, matching a situation to the tool that answers it
The field you are fillingThe generator
A primary key or a correlation idUUID generator, version 4 for random or version 7 for time-ordered
An API key or a session tokenToken generator, with entropy stated in bits for the length you pick
A user password for a fixturePassword generator, which reports the exact entropy of the result
A contact recordFake identity generator, or the separate email, phone and address generators
A payment field in a checkout testTest credit card generator, using published sandbox numbers
A network addressRandom IP generator for IPv4 and IPv6, or the MAC address generator

Frequently asked questions

Can the email addresses these tools generate actually receive mail?

No, and that is deliberate. They use the domains reserved by RFC 2606, which exist specifically so that documentation and test data cannot reach a real mailbox. Mail sent to one of these addresses is discarded rather than delivered, so a test fixture cannot accidentally email a stranger.

Are the generated card numbers real card numbers?

No. They are the published test numbers each card network provides for sandbox environments. They pass the Luhn checksum, which is what makes them useful for exercising validation, and they are connected to no account, so they cannot be charged and cannot be used to buy anything.

How much entropy does a generated password actually have?

The page reports the exact figure for the alphabet and length you chose, because a length on its own means nothing without knowing the character set. A 16-character password from a 62-character alphabet carries about 95 bits. The same length from digits alone carries about 53.

Should I use UUID version 4 or version 7?

Use version 7 when the identifier will be a database key, because it embeds a timestamp and therefore sorts chronologically, which keeps index inserts near the end rather than scattered. Use version 4 when you want no information encoded in the value at all.

Is the generated data sent anywhere before I see it?

No. Every value is produced in your browser by crypto.getRandomValues and rendered into the page. There is no request to a server, which matters for the password and token generators in particular: a credential that travels to a third party before you use it is not a credential worth having.