U.UtilityApp
⚙️ DevFree · No signup

UUID Generator

Generate random version-4 UUIDs (GUIDs) one at a time or in bulk, with optional uppercase and no-dashes formats.

What the generator gives you

Five UUIDs appear as soon as the page loads. Type a number from 1 to 1,000 in How many? and press Generate to replace them with a new batch, one per line. Every value is a random version 4 UUID in the standard lowercase, hyphenated form, 36 characters long:

3ccb3b95-6941-4228-ab6a-c9dc5d603b2c b0fe9f29-21ec-4797-a0eb-d5c8e26ba37e a8e901c4-8ed9-49c6-8421-62864e75f15d

The values come from the browser's built-in crypto.randomUUID(), which draws on the browser's cryptographically secure random generator. A quick sanity check on any value: the first character of the third group is always 4. If you ever see a value that isn't 36 characters, update your browser and generate again.

Uppercase, no hyphens, or braces

The page only produces the lowercase, hyphenated form. Most systems accept that as is, but if yours wants something else, convert the batch after copying:

  • No hyphens (32 characters): find and replace - with nothing in any text editor.
  • Uppercase: paste into a spreadsheet column and use =UPPER(A1), or use your editor's uppercase command.
  • Registry-style braces: some Windows tools show GUIDs as {3CCB3B95-6941-4228-AB6A-C9DC5D603B2C}. Uppercase the value and add the braces.

If you store UUIDs as text, pick one form and stick to it. Comparing 3ccb… with 3CCB… as plain strings says they differ, even though they are the same UUID.

Turning a batch into seed data

A batch of 1,000 pastes straight into a spreadsheet column, one UUID per row, which is handy for building fixtures or test imports. For a database seed, wrap each line in quotes. Most editors can do it with a regular-expression replace of ^(.+)$ with ('$1'),, giving lines you can drop into an INSERT … VALUES statement:

INSERT INTO orders (id) VALUES ('3ccb3b95-6941-4228-ab6a-c9dc5d603b2c'), ('b0fe9f29-21ec-4797-a0eb-d5c8e26ba37e');

Remove the trailing comma from the last line. For a JSON array, replace with "$1", and wrap the whole list in square brackets.

When a fresh UUID is the wrong choice

Generate a UUID once, when the record is created, and keep it. A common bug is creating a new ID each time a request is retried, which turns one order into two. For idempotency keys, generate the key before the first attempt and reuse it on every retry.

Also avoid using a UUID as a secret, such as a password-reset link. It is random, but the format announces what it is, and part of it is fixed version and variant markers rather than random data. Use a token generator for secrets.

Frequently asked questions

Can this page make version 1 or version 7 UUIDs?+

No, it only generates version 4, which is fully random apart from the version and variant markers. Time-ordered versions have to come from your application's UUID library.

How do I check that a string is a valid version 4 UUID?+

Match it, case-insensitively, against the pattern ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ which checks the length, the hyphens, the version digit and the variant character.

Do I still need a unique constraint in my database?+

Yes. Duplicates from random generation aren't a practical concern, but bugs that copy or reuse an ID are, and the constraint is what catches them.

Are the generated UUIDs logged or stored?+

No. They are created in your browser and disappear when you generate a new batch or leave the page.

Guides & deep dives

Embed this tool on your website

Free to use on blogs, school sites and intranets. Paste this code into your page's HTML; please keep the credit line.

<iframe src="https://utilityapp.lat/embed/dev/uuid-generator" title="UUID Generator" width="100%" height="600" style="border:0;max-width:760px" loading="lazy"></iframe>
<p style="font-size:13px"><a href="https://utilityapp.lat/dev/uuid-generator">UUID Generator</a> by UtilityApp</p>