data tool
UUID generator
Choose version 4 for fully random ids or version 7 for ids that sort by the time they were made, set how many you need, and copy them all in one go. Every id is built in this page from the browser's cryptographic random source, and a reader underneath tells you what any pasted UUID reveals.
Loading the tool…
- Runs on your device, nothing is uploaded
- Free, no sign in
- No watermark, no file limit
How it works
- 1
Pick a version
Version 4 is random throughout. Version 7 starts with the current time, so the ids sort in the order they were made. The arrow keys move between the two.
- 2
Set how many
Type a number from 1 to 1,000 and press Enter or Generate. A new batch replaces the last one.
- 3
Choose the format
Tick Upper case, No hyphens or In braces, GUID style. The batch changes format in place without being regenerated.
- 4
Copy or download
Copy all puts every id on the clipboard, one per line. Download .txt saves the same list. Paste any UUID into Read a UUID to check its version.
Version 4 or version 7
Both are 128 bit identifiers written as 32 hexadecimal digits in groups of 8, 4, 4, 4 and 12, and both are defined in RFC 9562, which replaced RFC 4122 in 2024. A version 4 id spends 122 of its bits on randomness and says nothing about where or when it was made. A version 7 id puts a 48 bit count of milliseconds since 1970 at the front, then a short counter, then random bits. Because the time comes first, version 7 ids sort in creation order as plain text, which keeps a database index compact when they are used as primary keys. Use version 7 for keys inside your own systems and version 4 for anything a stranger will see.
What a version 7 id gives away
The first twelve hex digits of a version 7 id are its creation time. Paste one into Read a UUID and the tool prints that moment in UTC, to the millisecond. Anyone else can do the same, so an id on an invoice, a support ticket or a sign up link tells the reader when the record was created and, across several ids, roughly how many were made in between. That is harmless for a log line and unwelcome for a customer number. The generator shows a warning whenever version 7 is chosen, so the trade is made on purpose.
How a batch keeps its order
A thousand ids are made inside the same millisecond, so the timestamp alone cannot order them. RFC 9562 allows a counter in the twelve bits after the version digit, and that is what this tool uses: the counter starts at a random value and goes up by one for each id in the batch, and on the rare overflow the timestamp moves forward a millisecond. The result is a batch that sorts exactly in the order it was printed, with the remaining 62 bits of each id still random.
Putting an id on a document
A UUID is a fine machine key and a poor thing to read aloud. If a person will quote the reference on a phone call, print the full id where it has to be exact and give a short human reference beside it, such as the last eight characters or an invoice number. Keep the case consistent: RFC 9562 says ids are written in lower case and compared without regard to case, but plenty of older systems compare them as plain text.
Limits worth knowing
The randomness comes from the browser's crypto.randomUUID and crypto.getRandomValues, the same source used for keys and tokens, so these ids are as unpredictable as any a server would make. Uniqueness is a matter of probability rather than a promise: with version 4 you would need to make around 2.7 billion billion ids before a repeat became more likely than not. Nothing is uploaded and nothing is stored, ever, so the tool cannot say later which ids it handed out.
Limits
- Version 7 ids are time ordered and reveal when they were made, to the millisecond. Version 4 ids reveal nothing.
- 1,000 ids per press of Generate. Press it again for another batch.
- Ids exist only in this tab; nothing records which ones were issued, so keep your own copy.
What it does not do
- It does not make version 1, 3, 5, 6 or 8 ids. It reads them, but only generates 4 and 7.
- It does not check an id against a database to prove it has never been used.
- It does not make short ids, such as eight character codes; the access code generator does that.
Questions people ask
What is the difference between a UUID and a GUID?
Nothing that matters in practice. GUID is the name Microsoft uses, in Windows, .NET and SQL Server, for the same 128 bit format. GUIDs are often written in upper case inside curly braces, which is what the In braces, GUID style and Upper case options produce. Any version 4 id made here works wherever a GUID is expected.
Can two people generate the same UUID?
In theory yes, in practice no. A version 4 id has 122 random bits, so two ids colliding is less likely than winning a national lottery several times running. The risk only becomes real with broken random number generators, which is why this tool uses the browser's cryptographic source rather than Math.random.
Should I use a UUID as a database primary key?
It works well when records are created in several places that cannot ask one central counter for the next number. Prefer version 7 for this: because ids arrive in time order, new rows land at the end of the index instead of scattering across it. PostgreSQL has a native uuid type that stores the value in 16 bytes.
Is a UUID safe to use as a secret, such as a password reset token?
A version 4 id from a cryptographic source is hard to guess, but it was designed as an identifier, not a secret, and many libraries do not promise that their ids are unpredictable. For a token, use a purpose built random string of at least 128 bits, and never use version 7, whose first part is a readable timestamp.
Why is there a 4 or a 7 in the middle of every id?
The first digit of the third group holds the version number, so every version 4 id has a 4 there and every version 7 id a 7. The first digit of the fourth group holds the variant and is 8, 9, a or b for ids that follow RFC 9562. Read a UUID checks both of those digits for you.
Put the reference on a real document
Take what you made here into documents.
Create a document with OneCraftMore tools like this
- Access code generatorAn access code generator that makes random codes of any length and character set with the Web Crypto source, one or 500 at a time. Never stored, never sent.
- Unix timestamp converterA Unix timestamp converter for seconds or milliseconds: read it as UTC, your local time and ISO 8601, or turn a date back into a timestamp. Negative dates work.
- JSON to tableConvert JSON to a table in your browser: an array of objects becomes rows, nested keys become dot path columns, and the result downloads as CSV. No upload.
- Slug generatorType a headline and watch the permalink build underneath, with accents folded, Greek and Cyrillic romanised and symbols spelled out. Batch mode included.
- JSON formatterFormat and inspect JSON in your browser. A collapsible tree beside the text, errors pinned to the line and column, and warnings for duplicate keys.
Background reading: the question page on this.
Written and checked by the OneCraft team. Last checked .