Zero Signup ToolsFree browser tools

Generator Tools

TypeID Generator and Decoder

Generate, decode, and validate TypeIDs in your browser. Make type-prefixed, K-sortable IDs from UUIDv7, or turn any UUID into a TypeID. No signup.

TypeID generator, decoder, and validator

Lowercase letters and internal underscores, up to 63 characters. Leave blank for a prefix-free TypeID.

Generate between 1 and 50 at a time.

Timestamp

Anatomy of a TypeID

  • A TypeID is a prefix_suffix. The prefix names the entity type; the suffix is a UUID in base32.
  • The suffix is exactly 26 characters from 0123456789abcdefghjkmnpqrstvwxyz, the lowercase Crockford alphabet without i, l, o, and u.
  • With a UUIDv7 inside, the leading bytes are a millisecond timestamp, so TypeIDs sort by creation time as plain strings.
  • An empty prefix is allowed and is written with no separator, like 01h455vb4pex5vsknk084sn02q.

TypeID, UUID, ULID, and snowflake

  • A TypeID wraps a standard UUID, so it is fully convertible back to the 8-4-4-4-12 form your database stores.
  • Like a ULID, a TypeID is base32 and time-sortable, but it keeps a human-readable type prefix and a real UUID underneath.
  • Unlike a 64-bit snowflake, a TypeID is 128 bits and globally unique without a central ID server.
  • The prefix makes IDs self-describing in logs and URLs, the idea popularized by Stripe identifiers such as cus_ and ch_.

How to use

  1. Pick a mode: Generate to create new TypeIDs, Decode and validate to inspect one, or UUID to TypeID to convert an existing UUID.
  2. To generate, type a type prefix (or leave it blank), choose how many to create, and keep Use current time or pick a specific date and time. Click Generate TypeIDs.
  3. Use the Monotonic option when generating a batch so identifiers created in the same millisecond stay strictly increasing, then Copy all or copy a single value.
  4. To decode, paste a TypeID. The tool validates it against the spec and shows the prefix, the underlying UUID, the UUID version and variant, and the embedded timestamp for version 7 IDs.
  5. If a TypeID is invalid, read the red message for the exact reason, such as an uppercase prefix, a wrong suffix length, or a character outside the alphabet.
  6. To convert, paste a UUID and an optional prefix to get the matching TypeID, then copy it.

About this tool

TypeID Generator and Decoder is a single-purpose tool for working with TypeIDs, the type-safe, K-sortable identifier format inspired by Stripe-style prefixed IDs. A TypeID is a type prefix, an underscore separator, and a 26-character base32 suffix, like user_01h455vb4pex5vsknk084sn02q. The suffix is a standard 128-bit UUID encoded most-significant-byte-first using the lowercase Crockford base32 alphabet (0123456789abcdefghjkmnpqrstvwxyz, the Crockford set with the ambiguous letters i, l, o, and u removed), and when the UUID is a version 7 value its leading bytes hold a millisecond timestamp, which is what makes a TypeID sort by creation time with a plain string sort. The tool does three jobs. Generate mints fresh TypeIDs from a freshly built UUIDv7: it stamps the current time (or a date and time you pick) into the first 48 bits, fills the rest with cryptographically secure random bytes from the browser crypto API, sets the version and variant bits, and base32-encodes the result, with an optional monotonic mode that increments the entropy so a batch created inside the same millisecond stays strictly increasing. You choose the prefix and how many to generate at once. Decode and validate parses any TypeID string: it splits the prefix from the suffix on the final underscore (the prefix may itself contain underscores, the suffix never does), checks every spec rule, and on success shows the prefix, the underlying UUID in canonical 8-4-4-4-12 form, the UUID version and variant, the embedded Unix-millisecond timestamp and ISO 8601 time for version 7 inputs, a relative description such as 3 years ago, and the 16 raw bytes in hex. On failure it explains exactly what is wrong: an uppercase or non-letter prefix, a prefix that starts or ends with an underscore or is longer than 63 characters, a separator with no prefix, a suffix that is not exactly 26 characters, a character outside the alphabet (including the ambiguous i, l, o, and u that strict TypeID rejects), or a value that overflows 128 bits because its leading character is above 7. UUID to TypeID converts an existing UUID of any version into a TypeID with the prefix you supply, so you can adopt TypeIDs over data you already store. The base32 byte packing was checked against the published TypeID specification test vectors, including the nil identifier, the boundary values for one, sixteen, and thirty-two, the maximum valid suffix, the full-alphabet case, and a real UUIDv7, so encode and decode round-trip exactly. The reference panels lay out the anatomy of a TypeID and how it compares to a bare UUID, a ULID, and a 64-bit snowflake. Everything runs locally in your browser; the identifiers you generate or paste are never uploaded or logged.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsGenerator Tools