NanoID Generator
Understand NanoID Generator
Erzeugt kurze, URL-sichere Zufallsbezeichner mit einstellbarer Länge und einstellbarem Alphabet.
How it works
Die Bytes stammen aus crypto.getRandomValues und werden auf die Alphabetgröße maskiert, wobei Werte außerhalb des Bereichs verworfen werden, damit jedes Zeichen gleich wahrscheinlich bleibt. Die Voreinstellung von 21 Zeichen über ein Alphabet aus 64 Symbolen (A-Z, a-z, 0-9, Unterstrich, Bindestrich) trägt 126 Bit Zufall – mehr als die 122 Bit einer UUID v4 – in 21 statt 36 Zeichen. Die ID zu kürzen oder das Alphabet zu verkleinern senkt das proportional: 21 Zeichen in Hex sind nur 84 Bit.
When to use it
- Öffentlich sichtbare IDs in URLs, wo eine 36 Zeichen lange UUID unhandlich ist.
- Freigabelinks, Einladungscodes und Dokument-IDs, die Menschen weiterreichen könnten.
- Dateinamen und Objektschlüssel, die in einer URL und auf der Kommandozeile unbedenklich sein müssen.
- Eine ID in Hex oder nur aus Ziffern für ein nachgelagertes System, das andere Zeichen ablehnt.
- Die ID-Länge in einem System kürzen, in dem Speicher oder URL-Länge tatsächlich zählen.
Watch out for
- Kürzen ist nicht umsonst. Der Schritt von 21 Zeichen des Standardalphabets auf 10 führt von 126 Bit auf 60, wo Kollisionen im großen Maßstab nicht mehr theoretisch sind. Bemessen Sie die Länge an Ihrem Erzeugungsvolumen, nicht daran, was ordentlich aussieht.
- Das voreingestellte Alphabet enthält Bindestrich und Unterstrich. Beide sind URL-sicher, aber eine ID, die mit einem Bindestrich beginnt, wird von vielen Kommandozeilenwerkzeugen als Option gelesen – nehmen Sie für Werte, die als Argumente übergeben werden, den rein alphanumerischen Satz.
- Nicht erratbar ist nicht autorisiert. Eine NanoID in einer URL ist eine Befugnis: Jeder, der den Link erhält, hat den Zugriff, den der Link gewährt, solange die Berechtigungen nicht gesondert geprüft werden.
- Eine ID aus einem Ziffernalphabet ist eine Zeichenkette, keine Zahl. Sie als Ganzzahl zu parsen entfernt führende Nullen und verliert jenseits von rund 16 Stellen an Genauigkeit.
Not the right tool for: Datenbank-Primärschlüssel, bei denen die Einfügereihenfolge zählt. NanoIDs sind reiner Zufall ohne Zeitanteil und fragmentieren Indizes daher genauso wie UUID v4 – nehmen Sie dort ULID oder UUID v7.
Frequently Asked Questions
Wie schneidet NanoID im Vergleich zu UUID ab?
Die Voreinstellung von 21 Zeichen bei NanoID hat rund 126 Bit Entropie, ähnlich wie UUID v4 (122 Bit), nutzt dafür aber nur 21 Zeichen statt 36 (UUID mit Bindestrichen). Sie ist URL-sicher, hat keine Bindestriche und vermeidet den Ballast der UUID-Formatierung. Geeignet für IDs in URLs, Dateinamen und Datenbanken.
Was passiert, wenn ich die ID kürzer mache?
Kürzere IDs bergen ein höheres Kollisionsrisiko. Nutzen Sie den Kollisionsrechner von NanoID: Bei 10 IDs pro Sekunde braucht eine 21-Zeichen-ID rund 149 Jahre, bis die Kollisionswahrscheinlichkeit 1 % erreicht. Eine 13-Zeichen-ID braucht bei derselben Rate nur rund 12 Jahre. Richten Sie die Länge an Ihrem Erzeugungsvolumen aus.
Kann ich ein eigenes Alphabet verwenden?
Ja – ersetzen Sie das voreingestellte Alphabet (A-Za-z0-9_-) durch beliebige Zeichen. Nur Ziffern (0-9) für numerisch wirkende IDs, Hex (0-9a-f) für Hex-IDs oder ein eigener Satz. Das Tool zeigt die Kollisionswahrscheinlichkeit für Ihre Konfiguration.
How to Use NanoID Generator
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.