Aller au contenu
Tout en local

Décodeur d'ID Snowflake

Décompose un ID Snowflake 64 bits en ses champs de timestamp, machine et séquence.

Entrée
Sortie

Décodeur d'ID Snowflake

Collez un ou plusieurs IDs Snowflake —les identifiants 64 bits utilisés par Twitter, Discord, Instagram, Mastodon et d'innombrables systèmes internes modélisés d'après eux— et cet outil décompose chacun en son timestamp, ses identifiants de machine et son numéro de séquence. Chaque service ajoute un ID Snowflake à une donnée (un tweet, un message Discord, une ligne de base de données) afin que les IDs se trient chronologiquement et puissent être générés par de nombreuses machines à la fois sans besoin d'une étape de coordination.

Choisissez l'epoch qui correspond à votre source sous Epoch / format: Twitter et Discord partagent la même disposition de bits mais ont des dates de démarrage différentes, Instagram divise ses bits différemment (un champ shard plus large, pas d'ID de travailleur séparé), et Mastodon ignore complètement les champs de machine en faveur d'un simple timestamp en millisecondes plus un numéro de séquence. Sélectionnez Personnalisé et fournissez votre propre epoch en millisecondes Unix pour tout autre schéma de type Snowflake. Afficher l'heure locale ajoute votre fuseau à côté du timestamp UTC, et Afficher la ventilation binaire imprime les groupes de bits pour montrer quels bits portent quel champ.

Changez Direction en Date → ID limite pour aller dans l'autre sens: tapez une date (simple 2026-08-11 ou un timestamp ISO 8601 complet) et récupérez le plus petit et le plus grand ID Snowflake qui pourraient exister pour cette milliseconde —la paire que la plupart des APIs attendent comme curseur "avant"/"après" lors de la pagination par ID au lieu de par numéro de page. Chaque ligne est traitée indépendamment, vous pouvez donc décoder un journal complet d'IDs, ou générer des limites pour une liste complète de dates, en une seule passe. L'outil valide que chaque valeur tient dans un Snowflake 64 bits et signale les lignes invalides ou hors limites au lieu de les ignorer silencieusement.

Tout s'exécute localement dans votre navigateur —les IDs collés, les dates et tout epoch personnalisé ne quittent jamais votre appareil, c'est donc sûr à utiliser avec des données de production. Copiez le résultat, téléchargez-le en tant que fichier .txt, ou envoyez-le directement à l'entrée d'un autre outil pour continuer à y travailler.

FAQ

Qu'est-ce qu'un ID Snowflake?
Un nombre 64 bits qui empaquette un timestamp en millisecondes, un ou deux identifiants de machine et un compteur de séquence par milliseconde dans un seul entier triable. Twitter a introduit le schéma; Discord, Instagram, Mastodon et de nombreux systèmes internes utilisent des variantes de celui-ci.
Pourquoi les IDs Twitter et Discord nécessitent-ils des paramètres différents?
Ils partagent la même disposition de bits mais comptent les millisecondes à partir de points de départ différents —l'epoch de Twitter commence en novembre 2010, celui de Discord en janvier 2015. Choisir le mauvais donne un timestamp décalé de plusieurs années.
Quelle est la différence entre le décodage et la direction ID limite?
Le décodage relit un ID existant dans ses champs. La direction limite fait l'inverse: donnée une date, elle construit le plus petit et le plus grand ID que ce timestamp aurait pu produire, que de nombreuses APIs utilisent comme curseurs de pagination.
Pourquoi Instagram affiche-t-il un shard mais pas de champ de travailleur séparé?
Le format d'Instagram alloue plus de bits à un seul identifiant de shard au lieu de diviser un ID de centre de données et un ID de travailleur comme le font Twitter et Discord —une différence de conception délibérée, pas une lacune de décodage.
Mes données sont-elles téléchargées quelque part?
Non. Chaque ID, date et epoch personnalisé que vous entrez est traité entièrement dans votre navigateur et jamais envoyé à un serveur.