Test Data — entry 017 of 19

UUID Generator

Verified Jul 2026

UUIDTools is a free, keyless REST API for minting and inspecting UUIDs: GET endpoints generate v1 (timestamp-based), v4 (random), and namespace-derived v3/v5 UUIDs in bulk via a count parameter, plus a /decode route that extracts the version, variant, and embedded timestamp from any UUID string. Every response is a plain JSON array, requests are capped at 60 per minute per IP, and there is no signup or paid tier.

UUIDTools is a free, keyless REST API for minting and inspecting UUIDs: GET endpoints generate v1/v3/v4/v5 UUIDs in bulk via a count path segment, and a `/decode` route extracts the version, variant, and embedded byte content from any UUID string. A live probe this run confirmed the documented 60-requests-per-minute cap is still enforced (`x-ratelimit-limit: 60` on every response) and that generation and decoding return two different shapes -- a bare array versus a plain object.

uuidgeneratorrest-apikeylessdeveloper-tools
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score74out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs0/20No docs or spec available
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 74 on greatapis.com
<a href="https://greatapis.com/api/uuid-generator/"><img src="https://greatapis.com/badge/uuid-generator.svg" alt="Scored 74 on greatapis.com"></a>

Auth quickstart

  1. No API key or signup required for any route. Every response carries `x-ratelimit-limit: 60` with `x-ratelimit-remaining` counting down live -- confirmed this run across several consecutive calls -- so the documented 60/minute-per-IP figure is still accurate; there's no separate quota or header to watch for auth.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Generate a single v4 UUID

GEThttps://www.uuidtools.com/api/generate/v4

200 application/json

["c9ac7763-bf82-44c1-b668-d163fcf1097f"]

Try it

Developer reference

Base URLhttps://www.uuidtools.com/api
Key endpoints
  • GET/generate/v4
  • GET/generate/v4/count/{count}
  • GET/decode/{uuid}

Gotchas & limits

  • Every `/generate/*` response is a bare JSON array, even for a single UUID -- there's no wrapping object to unwrap, unlike `/decode`, which returns a plain object: a live `GET /decode/c9ac7763-bf82-44c1-b668-d163fcf1097f` this run returned `{"encode":{"STR":"...","SIV":"..."},"decode":{"variant":"DCE 1.1, ISO/IEC 11578:1996","version":"4 (random data based)","contents":"..."}}`.
  • The count is a path segment, not a query parameter, and it's capped at 100: a live `GET /generate/v4/count/999999` this run returned HTTP 400 with `{"errors":{"count":["The count must be between 1 and 100."]}}` -- request in batches of 100 or fewer.
  • A non-numeric count also 400s with a distinct message: a live `GET /generate/v4/count/abc` this run returned `{"errors":{"count":["The count must be a number."]}}`, still with `access-control-allow-origin: *` and the rate-limit headers present on the error response itself.
  • CORS is wide open unconditionally, unlike the docs host at the stored `url`: a live GET against the real API host with no `Origin` header at all still returned `access-control-allow-origin: *` -- confirmed with and without an `Origin` header, so no proxy is ever required.
  • An `OPTIONS` request against `/generate/v4` returns HTTP 200 with a plain `allow: GET,HEAD` header rather than the `access-control-allow-methods` header a strict CORS preflight would check -- browsers accept this in practice since only simple GETs are ever made, but a stricter CORS client wouldn't find the header it's looking for.