NAV
shell http

UUIDS.IO

Welcome to Uuids.io, a website allowing you to generate all existing UUID versions.

There is no site to generate each type of UUID in one place. It's sometimes even very complicated to find examples of UUIDs of certain versions, because online generators just don't offer it.

This API is the solution.

Available versions

Uuids.io API allows you to create the following UUID versions, quickly and without having to worry about potential parameters (but you can set them manually, if you want!):

Let's see how to get any UUID version, and setting some parameters when available.

UUIDs

Generate a UUID

curl "https://api.uuids.io/1"
GET https://api.uuids.io/1

The above command returns JSON structured like this:

{
  "version": 1,
  "uuid": "e13b5196-70d2-11ed-a36d-05a14fd30f67"
}

HTTP Request

GET https://api.uuids.io/<version>

URL Parameters

Parameter Description Requirements
version The version of the UUID to generate An integer between 1 and 8

Customize UUID generation

Parameter UUID version concerned Description
namespace V3 and V5 This parameter must be a UUID. It can be any UUID. See below for more information.
name V3 and V5 This parameter can be any string. See below for more information.
domain V2 This parameter must be one of person, group or org. person is the default one.
curl "https://api.uuids.io/2?domain=group"
GET https://api.uuids.io/2?domain=group

The above command returns JSON structured like this:

{
  "version": 2,
  "uuid": "000003e8-70d6-21ed-9501-02428de4a5d9"
}

About namespaced UUIDs (V3 and V5)

curl "https://api.uuids.io/3?namespace=e13b5196-70d2-11ed-a36d-05a14fd30f67&name=user"
GET https://api.uuids.io/3?namespace=e13b5196-70d2-11ed-a36d-05a14fd30f67&name=user

The above command returns JSON structured like this:

{
  "version": 3,
  "uuid": "83c5f0e8-2b90-36d0-8cb9-b2324e166846",
  "namespace": "e13b5196-70d2-11ed-a36d-05a14fd30f67",
  "name": "user"
}

V3 and V5 UUIDs are deterministic. This means that you'll generate the same UUID V3 and V5 again and again, if you pass the same namespace and name to them.

You can see the namespace as a category (see below for pre-defined namespaces , as described by the RFC 4122). The name can be seen as the resource type it describes (e.g. "user", "role", etc).

Here are the predefined namespaces as described by the RFC 4122:

Name Value
ns:DNS 6ba7b810-9dad-11d1-80b4-00c04fd430c8
ns:URL 6ba7b811-9dad-11d1-80b4-00c04fd430c8
ns:OID 6ba7b812-9dad-11d1-80b4-00c04fd430c8
ns:X500 6ba7b814-9dad-11d1-80b4-00c04fd430c8

The value of ns:URL is the default one used when generating a V3 or V5 UUID through the API.

Special UUIDs (Max and Nil)

curl "https://api.uuids.io/nil"
GET https://api.uuids.io/nil

The above command returns JSON structured like this:

{
  "version": null,
  "uuid": "00000000-0000-0000-0000-000000000000"
}
curl "https://api.uuids.io/max"
GET https://api.uuids.io/max

The above command returns JSON structured like this:

{
  "version": null,
  "uuid": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}

HTTP Request

If you need to get the Nil UUID or the maximum value of UUIDs, these special URL can fetch it for you:

Errors

The Uuids.io API uses the following error codes:

Error Code Meaning
400 Bad Request - Your request is invalid.
405 Method Not Allowed - You tried to access a kitten with an invalid method.
429 Too Many Requests - You're requesting too UUIDs in a short amount of time.
500 Internal Server Error - We had a problem with our server. Try again later.