# jetify-com/typeid

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jetify-com-typeid).**

3,596 stars · 51 forks · Go · Apache-2.0

## Links

- GitHub: https://github.com/jetify-com/typeid
- awesome-repositories: https://awesome-repositories.com/repository/jetify-com-typeid.md

## Topics

`guid` `typeid` `uuid` `uuidv7`

## Description

Typeid is a library for generating, encoding, and validating unique identifiers that combine human-readable prefixes with sortable, type-safe suffixes. By integrating descriptive prefixes with standardized binary-to-string conversion, it provides a structured approach to managing identifiers that remain globally unique and consistent across distributed systems.

The project distinguishes itself by utilizing time-ordered bit structures and Crockford Base32 encoding to ensure that identifiers are both chronologically sortable and URL-safe. This format allows for the translation of standard 128-bit identifiers into compact, human-readable strings, facilitating interoperability between different software systems and database layers.

The toolkit includes comprehensive validation mechanisms to enforce strict schema rules, such as character constraints and prefix requirements, which prevent data corruption and type confusion. Additionally, the project provides a command-line interface to streamline the generation and decoding of these identifiers within development and automation workflows.

## Tags

### Data & Databases

- [Unique Identifier Generators](https://awesome-repositories.com/f/data-databases/unique-identifier-generators.md) — Generates globally unique, K-sortable identifiers that combine human-readable prefixes with URL-safe Base32 encoded suffixes.
- [Unique Identifier Generators](https://awesome-repositories.com/f/data-databases/data-management/unique-identifier-generators.md) — Creates globally unique and sortable identifiers by combining descriptive prefixes with Base32-encoded suffixes. ([source](https://github.com/jetify-com/typeid#readme))
- [Sequential UUID Generation](https://awesome-repositories.com/f/data-databases/data-management/unique-identifier-generators/sequential-uuid-generation.md) — Generates timestamp-prefixed identifiers that remain chronologically sortable within distributed systems.
- [Type-Safe Data Abstractions](https://awesome-repositories.com/f/data-databases/type-safe-data-abstractions.md) — Implements globally unique and sortable identifiers with descriptive prefixes to prevent type confusion in application code.
- [Distributed Data Synchronization Systems](https://awesome-repositories.com/f/data-databases/distributed-data-synchronization-systems.md) — Ensures consistent and verifiable identifier formats across microservices to maintain data integrity in distributed systems.
- [Strict Schema Enforcers](https://awesome-repositories.com/f/data-databases/schema-enforcement-tools/strict-schema-enforcers.md) — Enforces strict schema rules on identifier prefixes and suffixes to prevent data corruption.

### Programming Languages & Runtimes

- [Prefix-Based Type Encodings](https://awesome-repositories.com/f/programming-languages-runtimes/type-name-assignment/unique-type-identifiers/prefix-based-type-encodings.md) — Combines human-readable prefixes with identifiers to provide compile-time safety and semantic clarity for database records.

### Web Development

- [Time-Sortable](https://awesome-repositories.com/f/web-development/high-performance-web-services/id-services/time-sortable.md) — Generates type-safe, sortable identifiers using a time-based suffix to maintain system performance. ([source](https://github.com/jetify-com/typeid/blob/main/README.md))
- [URL Identifiers](https://awesome-repositories.com/f/web-development/url-identifiers.md) — Encodes 128-bit identifiers into compact, URL-safe strings for use in web addresses and APIs.

### Software Engineering & Architecture

- [Crockford Base32 Encodings](https://awesome-repositories.com/f/software-engineering-architecture/base64-encoding-and-decoding/binary-to-text-encodings/crockford-base32-encodings.md) — Implements Crockford Base32 encoding to ensure identifiers are URL-safe and human-readable.
- [Data Validation Libraries](https://awesome-repositories.com/f/software-engineering-architecture/data-validation-libraries.md) — Provides a toolkit for verifying identifier constraints to ensure data integrity across distributed systems.
- [Identifier Validations](https://awesome-repositories.com/f/software-engineering-architecture/naming-conventions/identifier-validations.md) — Verifies that identifiers conform to strict prefix and suffix rules to ensure system-wide consistency. ([source](https://github.com/jetify-com/typeid/blob/main/spec))
