---
id: "typeid"
kind: "datatype"
status: "draft"
is_pii: false
categories: ["identifiers"]
langs: ["common"]
quality: 80
url: "http://registry.apicrafter.io/datatype/typeid"
---

# TypeID (type-prefixed UUIDv7) (`typeid`)

> **Draft.** Draft records have not been reviewed yet and may be incomplete or wrong; do not treat them as authoritative for legal or compliance decisions.

Identifier from the TypeID specification of Jetify, a UUIDv7 with a type prefix. It has the form <prefix>_<suffix>. The prefix names the kind of object, such as user, in up to 63 lowercase letters and underscores that start and end with a letter, and it may be left out together with the underscore. The suffix is the 128-bit UUID in 26 characters of lowercase Crockford Base32; its first character is 0 to 7. New TypeIDs carry a UUIDv7, so they sort by creation time.

- Personal data (PII): no
- Categories: Universal unique identifiers (identifiers)
- Countries: global
- Languages: Common to most languages (common)
- Classification: identifier

## Detection

Regular expression (Python `re`):

```
^(?:[a-z](?:[a-z_]{0,61}[a-z])?_)?[0-7][0-9a-hjkmnp-tv-z]{25}$
```

## Examples

- `prefix_01h455vb4pex5vsknk084sn02q` — valid-uuidv7 test case of the TypeID specification, UUID 01890a5d-ac96-774b-bcce-b302099a8057
- `user_01h5fskfsk4fpeqwnsyz5hj55t` — TypeID of type user in the TypeID specification
- `01h5fskfsk4fpeqwnsyz5hj55t` — TypeID without a prefix in the TypeID specification
- `PREFIX_01h5fskfsk4fpeqwnsyz5hj55t` (invalid example) — Uppercase prefix
- `_prefix_01h5fskfsk4fpeqwnsyz5hj55t` (invalid example) — Prefix starts with an underscore
- `prefix_8zzzzzzzzzzzzzzzzzzzzzzzzz` (invalid example) — Suffix exceeds 128 bits

## Translations

- ru: TypeID (UUIDv7 с префиксом типа)

## Sources

- doc: <https://github.com/jetify-com/typeid/tree/main/spec>

## Quality

Score 80/100. Missing: mapping (Wikidata, Schema.org, ...), detector coverage.

JSON: <http://registry.apicrafter.io/api/v1/datatypes/typeid.json> · Edit: <https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/any/identifiers/typeid.yaml>
