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!):
- UUID v1 (MAC)
- UUID v2 (DCE)
- UUID v3 (MD5, namespaced)
- UUID v4 (Random)
- UUID v5 (SHA1, namespaced)
- UUID v6 (Sortable)
- UUID v7 (Monotonic)
- UUID v8 (Custom)
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:
GET https://api.uuids.io/nil
GET https://api.uuids.io/max
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. |