ULID generator
Genereer ULID's (Universally Unique Lexicographically Sortable Identifiers). 26 tekens, URL-veilig, tijd-sorteerbaar en compatibel met UUID's.
ULID genereren
Maak sorteerbare unieke identificaties
Gegenereerde ULID's
Klik op "ULID's genereren" om unieke identificaties te maken
Veelgestelde vragen
What is a ULID?
Een identificator van 26 tekens die een 48-bit milliseconde-timestamp en 80 bits aan willekeurigheid combineert, zodat ID's op aanmaaktijd worden gesorteerd.
Waarom ULID kiezen boven UUID?
ULID's worden lexicografisch op tijd gesorteerd, zijn korter en gebruiken URL-veilige Crockford base32 zonder afbreekstreepjes waarmee u rekening moet houden.
Can I trust the ordering?
Over verschillende milliseconden, ja. Binnen dezelfde milliseconde is de volgorde tussen twee ULID's niet gegarandeerd.
Werken ULID's overal waar UUID's worden gebruikt?
Ze passen in de meeste tekenreekskolommen en API's, en het omzetten tussen ULID en UUID is eenvoudig wanneer beide formaten naast elkaar moeten bestaan.
Hoe lang is een ULID en welke tekens gebruikt deze?
Elke ULID is precies 26 tekens lang en gebruikt Crockford Base32, met de cijfers 0-9 en de letters A-Z behalve I, L, O en U. Deze vaste lengte houdt de grootte van databasekolommen voorspelbaar en voorkomt dubbelzinnige tekens wanneer ID's hardop worden voorgelezen of handmatig worden ingetypt.
Zijn ULID's veilig te gebruiken in URL's en bestandsnamen?
Ja. ULID's bevatten alleen hoofdletters en cijfers, zonder streepjes, schuine strepen of symbolen, waardoor ze zonder procent-encoding door URL's, padsegmenten en bestandsnamen heen gaan. De lengte van 26 tekens past bovendien gemakkelijk in route-patronen en logregels.
Hoeveel ULID's kunnen in dezelfde milliseconde worden gegenereerd?
Het 80-bit willekeurige gedeelte biedt ongeveer 2^80 waarden per milliseconde, waardoor botsingen praktisch onmogelijk zijn. Als uw applicatie meerdere ID's binnen één milliseconde aanmaakt, gebruik dan de monotonische modus, waarbij het willekeurige gedeelte met één wordt verhoogd zodat de sorteervolgorde behouden blijft.
Hoe lees ik de timestamp uit een ULID?
De eerste 10 tekens coderen de Unix-timestamp in milliseconden, terwijl de overige 16 tekens willekeurig zijn. Decodeer die 10 tekens van Crockford Base32 naar een getal en converteer het vervolgens met een willekeurige Unix-timestamp-tool om de exacte aanmaaktijd te verkrijgen.
ULID-structuur
Elke ULID bestaat uit twee delen: timestamp en willekeurigheid
01ARZ3NDEKTSV4RRFFQ69G5FAV
Voorbeeld: Deze ULID is gegenereerd op een specifieke milliseconde en bevat 80 bits willekeurigheid
Timestamp (48 bits)
Milliseconden sinds Unix epoch (1970-01-01). Biedt tijd-geordende sortering en duurt tot 10889 n.Chr.
Willekeurigheid (80 bits)
Cryptografisch beveiligde willekeurige waarde. Biedt 1,21 triljoen unieke ID's per milliseconde.
Technische specificaties
ULID is ontworpen om sorteerbaar, URL-veilig en compatibel met UUID's te zijn
Functies
- Cryptografisch beveiligde willekeurigheid
- Alleen client-side generatie
- Lexicografisch sorteerbaar
- Geen speciale tekens (URL-veilig)
Specificaties
- 26 tekens (128 bits)
- Crockford's Base32-codering
- 48-bit timestamp + 80-bit willekeurigheid
- 1,21M ID's per milliseconde
Referenties & Bronnen
-
ULID Specification - GitHub
De sorteerbare ULID-specificatie — unieke identificatoren met tijdstempel als prefix.
-
Universally Unique Identifier - Wikipedia
Algemene referentie over universeel unieke identificatoren en hun varianten.