UUID-v7-Zeitstempel-Decoder

Extrahiert den in den ersten 48 Bit einer UUID v7 eingebetteten Millisekunden-Zeitstempel und wandelt ihn durch einfaches Einfügen der Zeichenfolge in ein UTC-Datum um. Erkennt Nicht-v7-Versionen und Variant-Anomalien und dient als Umkehrung des Schwestertools "UUID-v7-Generator".

Bit-Layout der UUID v7

Bit-Bereich Feld Beschreibung
0-47 unix_ts_ms Millisekunden seit der Unix-Epoche, im Big-Endian-Format gespeichert. Der Wert, den dieses Tool extrahiert.
48-51 version Die UUID-Versionsnummer. Bei v7 fest auf 0111 (hexadezimal 7) gesetzt.
52-63 rand_a 12 Bit Zufallsdaten. Manche Implementierungen nutzen sie, um die Reihenfolge innerhalb derselben Millisekunde zu bewahren.
64-65 variant Fester Wert 10, der die Variante nach RFC 4122/9562 angibt. Die erste Hexadezimalziffer ergibt dadurch 8/9/a/b.
66-127 rand_b 62 Bit Zufallsdaten, die Entropie zur Vermeidung von Kollisionen liefern.

Was das Auslesen des Zeitstempels aus einer UUID v7 bedeutet

Die 2024 im RFC 9562 normierte UUID v7 trägt den Erzeugungszeitpunkt in ihren ersten 48 Bit als Unix-Zeitstempel in Millisekunden. Deshalb stehen sortierte UUIDs in Erzeugungsreihenfolge, und deshalb bleibt die Indexfragmentierung gering, wenn man sie als Primärschlüssel verwendet. Fügen Sie hier eine UUID ein, und dieses Werkzeug holt diese 48 Bit als Datum und Uhrzeit in UTC zurück.

Es meldet außerdem Version und Variante. Fügen Sie etwas ein, das keine v7 ist, wird der Zeitstempel dennoch berechnet und mit dem Hinweis angezeigt, dass der Wert keine v7 ist. Eine zufällige v4 ergibt ein sinnloses Datum, doch gerade das zu sehen hilft zu verstehen, was die einzelnen UUID-Arten tatsächlich enthalten. Eine Tabelle zur Bitbelegung zeigt, was auf diese ersten 48 Bit folgt. Alles läuft in Ihrem Browser.

So lesen Sie einen Zeitstempel aus einer UUID

  1. UUID einfügen Die übliche Form mit 36 Zeichen und Bindestrichen, 8-4-4-4-12. Groß- und Kleinschreibung spielt keine Rolle.
  2. Version und Variante prüfen Bei einer v7 erscheint kein Hinweis. Alles andere wird als „keine v7“ gekennzeichnet.
  3. Die zurückgewonnene Zeit lesen Sie erscheint in drei Formen: Unix-Millisekunden, ISO 8601 in UTC und die Ortszeit Ihres Geräts.
  4. Die Bitbelegung ansehen Sie sehen, was nach dem 48-Bit-Zeitstempel folgt: Version, Variante und der Zufallsanteil.

Tipps für die Nutzung

  • Die gesamte Dekodierung erfolgt vollständig im JavaScript Ihres Browsers — die eingegebene UUID wird niemals an den Server von toolbase.cc gesendet.
  • Wenn der Primärschlüssel Ihrer Datenbank UUID v7 verwendet, können Sie den Erstellungszeitpunkt eines Datensatzes wiederherstellen, indem Sie einfach den Schlüssel hier einfügen — selbst ohne eine eigene created_at-Spalte.
  • Die Eingabe einer Nicht-v7-UUID (z. B. v4) löst eine Warnung aus, der mechanisch aus den ersten 48 Bit extrahierte Referenzwert wird jedoch weiterhin angezeigt, was hilfreich ist, um die Unterschiede zwischen den Formaten zu verstehen.
  • Wenn Sie eine UUID erzeugen möchten, verwenden Sie das Schwestertool "UUID-v7-Generator" — es erzeugt UUIDs, die dieses Tool direkt zurück dekodieren kann.
  • Das einzelne Einfügen von in Logdateien oder API-Antworten gefundenen UUID-v7-Werten ist eine praktische Methode, um beim Debuggen abzuschätzen, wann Ereignisse in einem externen System aufgetreten sind.

Wofür sich das eignet

Den Zeitpunkt eines protokollierten Vorgangs zurückgewinnen

Selbst ein Protokoll ohne Zeitspalte lässt sich datieren, wenn die Primärschlüssel v7 sind – hilfreich, wenn Sie bei einer Störung die Abfolge rekonstruieren.

Prüfen, ob Schlüssel wirklich nach Erzeugung sortieren

Geben Sie die UUIDs mehrerer Datensätze nacheinander ein und prüfen Sie, ob die Umsetzung tatsächlich zeitlich geordnete Werte liefert.

Über den Einsatz von v7 entscheiden

Zu sehen, was sich herausholen lässt, macht den Zielkonflikt greifbar: Wer den Wert hat, kann den Erzeugungszeitpunkt lesen – ein Nachteil überall dort, wo dieser Zeitpunkt schützenswert ist.

Versionen unterscheiden

Ob eine erhaltene UUID eine v4 oder eine v7 ist, lässt sich mit bloßem Auge kaum sagen; hier ist es sofort klar.

UUID-Begriffe

UUID v7
Die im RFC 9562 normierte Version mit einem Unix-Millisekunden-Zeitstempel in den ersten 48 Bit. Die zeitliche Sortierbarkeit unterscheidet sie vor allem von der v4.
Version
Die Ziffer an der 13. Hexadezimalstelle, die angibt, wie die UUID erzeugt wurde. Bei einer v7 steht dort 7.
Variante
Ein davon getrennter Wert, der die interne Anordnung beschreibt. Bei UUIDs nach RFC 9562 steht an der 17. Stelle 8, 9, a oder b.
Unix-Millisekunden
Millisekunden seit dem 1. Januar 1970, 00:00:00 UTC. 48 Bit reichen bis zum Jahr 10889.
Unterschied zur v4
Eine v4 besteht praktisch vollständig aus Zufall und **enthält keinerlei Angabe darüber, wann sie entstanden ist.** Sie sortiert daher nicht nach Erzeugung, dafür kann niemand ihren Zeitpunkt auslesen.

Häufig gestellte Fragen

UUID v7 ist in RFC 9562 standardisiert, und ein Unix-Zeitstempel mit Millisekundenpräzision ist in Big-Endian-Reihenfolge fest in den ersten 48 der 128 Bit eingebettet. Es genügt, die ersten 12 Hexadezimalziffern in eine Zahl umzuwandeln und als Millisekunden zu interpretieren, um den Erzeugungszeitpunkt wiederherzustellen.

Da UUID v4 vollständig zufällig ist, ist der daraus extrahierte "Zeitstempel" eine bedeutungslose Zahl ohne Bezug zu einem tatsächlichen Erstellungszeitpunkt. Dieses Tool prüft die Versionsziffer und zeigt eine Warnung an, gibt aber weiterhin zur Referenz den mechanisch aus den ersten 48 Bit extrahierten Wert aus.

Gemäß der UUID-v7-Spezifikation liegt die Genauigkeit bei einer Millisekunde. Werden mehrere UUID-v7-Werte innerhalb derselben Millisekunde erzeugt, sind ihre ersten 48 Bit identisch, und ihre Erzeugungsreihenfolge lässt sich nicht wiederherstellen — diese Unterscheidung obliegt vollständig den Zufallswerten rand_a und rand_b.

RFC-4122/9562-konforme UUIDs verlangen, dass die erste Hexadezimalziffer der 4. Gruppe 8, 9, a oder b ist. Ist sie ein anderer Wert (0-7 oder c-f), kann dies auf ein benutzerdefiniertes ID-Erzeugungsschema oder beschädigte Bits hindeuten, weshalb eine Warnung angezeigt wird.
Tool-kun

Übrigens – Der UUID eine eingebaute Uhr geben

Das Bahnbrechende an UUID v7 ist, dass der Bezeichner selbst dauerhaft seinen Erzeugungszeitpunkt trägt. Bei der älteren UUID v4 war eine separate created_at-Spalte unerlässlich, um zu wissen, wann ein Datensatz erstellt wurde. Verwendet der Primärschlüssel einer Tabelle jedoch UUID v7, lässt sich der Erzeugungszeitpunkt allein aus der ID-Zeichenfolge mechanisch wiederherstellen. Dieses Tool bietet diesen Wiederherstellungsprozess als Umkehrung des Schwestertools "UUID-v7-Generator" an.

Diese Eigenschaft ist besonders bei Fehleranalysen und Datenmigrationen nützlich. Ist eine in einem alten Log vergrabene Bestell-ID oder eine von einem externen System empfangene Ereignis-ID zufällig im UUID-v7-Format, lässt sich sofort ungefähr feststellen, wann der Datensatz erstellt wurde, ohne eine eigene Zeitstempelspalte konsultieren zu müssen. Das gilt auch für Legacy-Systeme ohne created_at-Spalte oder für die Analyse von UUID-v7-Werten anderer Unternehmen.

Allerdings gibt es Einschränkungen. Ein UUID-v7-Zeitstempel hängt vollständig von der Uhr der erzeugenden Maschine ab — geht die Uhr dieses Servers falsch, ist auch das extrahierte Ergebnis falsch. Bedenken Sie zudem, dass dieses Tool auch aus anderen UUID-Versionen wie v4 mechanisch einen "möglichen Zeitstempel" extrahiert — das ist rein eine Interpretation von Bit-Positionen und garantiert nicht, dass der resultierende Wert eine Bedeutung hat.