Générateur et décodeur d'ID Snowflake
Générez et décodez des ID Snowflake de 64 bits avec les epochs Twitter ou Discord, directement dans votre navigateur. Rien de ce que vous saisissez ne quitte votre appareil.
Le générateur d'ID Snowflake s'exécute entièrement dans votre navigateur. Les ID, horodatages et valeurs de champs que vous saisissez ou décodez ne quittent jamais votre appareil et rien n'est téléversé vers ArrayKit.
Ouvrir le générateur d'ULID
À propos de Générateur d’ID Snowflake
Le générateur d'ID Snowflake construit des ID Snowflake de 64 bits à la manière de Twitter et Discord : un horodatage en millisecondes, un identifiant de worker, un identifiant de processus et une séquence par milliseconde empaquetés dans un seul BigInt. Choisissez le préréglage d'epoch Discord ou Twitter, ou tapez le vôtre en millisecondes Unix, puis définissez l'horodatage et les valeurs de champs pour émettre un ID. Passez à Décoder pour coller tout Snowflake et voir l'horodatage exact en millisecondes, son heure ISO, et les bits de worker, de processus et de séquence sous l'epoch que vous avez choisi. C'est pratique pour rétro-concevoir quand un message Discord a été publié, reproduire un ID dans un jeu de test, ou vérifier la cohérence d'un schéma d'identifiants distribués. Tout le décalage de bits se fait sur votre appareil ; les ID et horodatages que vous saisissez ne sont jamais téléversés.
Fonctionnalités
- Générez un Snowflake de 64 bits à partir d'un horodatage, d'un worker, d'un processus et d'une séquence
- Préréglages d'epoch Discord (1420070400000) et Twitter (1288834974657) en un clic
- Champ d'epoch personnalisé pour tout autre schéma Snowflake en millisecondes Unix
- Le mode décodage transforme tout Snowflake en son horodatage, son heure ISO et ses bits de champ
- Le bouton « Maintenant » initialise l'horodatage depuis votre horloge pour un ID à l'heure actuelle
- Les calculs en BigInt gardent les 64 bits exacts — aucune perte de précision sur les grands ID
- Erreurs de plage claires quand le worker, le processus ou la séquence débordent leurs bits
- S'exécute entièrement dans votre navigateur sans qu'aucun ID ne soit envoyé à un serveur
Comment utiliser Générateur d’ID Snowflake
- Choisissez Discord, Twitter ou un epoch personnalisé
- Dans Générer, définissez l'horodatage et les valeurs de worker, de processus et de séquence
- Copiez l'ID Snowflake de 64 bits résultant
- Passez à Décoder et collez un Snowflake pour récupérer son horodatage et ses champs
Exemple
Entrée
175928847299117063 (Discord epoch)
Sortie
timestamp: 2016-04-30T11:18:25.796Z
worker: 1 process: 0 sequence: 7
Décoder un Snowflake Discord récupère quand il a été créé et ses bits de champ.
Erreurs courantes et dépannage
- L'horodatage décodé est décalé de plusieurs décennies (par ex. année 1970 ou 2100). — Vous décodez avec le mauvais epoch. Passez le préréglage pour correspondre à la source — les epochs Discord et Twitter diffèrent de plusieurs années — ou définissez l'epoch personnalisé exact.
- Générer signale « La séquence doit être comprise entre 0 et 4095 ». — Le champ de séquence ne fait que 12 bits. Gardez le worker et le processus entre 0 et 31 et la séquence entre 0 et 4095 pour que chaque valeur tienne dans son emplacement.
- « L'horodatage est antérieur à l'epoch choisi ». — Un Snowflake stocke les millisecondes depuis son epoch, donc l'horodatage doit être au moment de l'epoch ou après. Choisissez une heure ultérieure ou un epoch plus petit.
- L'ID collé semble arrondi ou perd ses derniers chiffres. — Les Snowflakes dépassent la plage d'entiers sûrs de JavaScript, alors traitez-les comme des chaînes. Cet outil utilise BigInt, mais évitez de coller un ID qu'un autre outil a déjà analysé comme un nombre à virgule flottante.
Foire aux questions
- Qu'est-ce qu'un ID Snowflake ?
- Un Snowflake est un ID de 64 bits utilisé par Twitter et Discord qui empaquette un horodatage en millisecondes, un identifiant de worker (machine), un identifiant de processus et une séquence par milliseconde dans un seul nombre triable, de sorte que les ID soient uniques et à peu près ordonnés dans le temps sans compteur central.
- Comment trouver quand un message Discord a été envoyé à partir de son ID ?
- Collez l'ID du message ou de l'utilisateur dans Décoder avec l'epoch Discord sélectionné. L'outil extrait les 42 bits d'horodatage, ajoute l'epoch Discord (1420070400000 ms) et affiche l'heure de création exacte en ISO et en millisecondes Unix.
- Quelle est la différence entre les epochs Twitter et Discord ?
- Les deux dispositions ont les mêmes largeurs de bits, mais elles comptent les millisecondes à partir de points de départ différents : Twitter utilise 1288834974657 (nov. 2010) et Discord utilise 1420070400000 (janv. 2015). Décoder avec le mauvais décale chaque horodatage de cet écart.
- Pourquoi le worker et le processus sont-ils plafonnés à 31 et la séquence à 4095 ?
- La disposition donne 5 bits chacun au worker et au processus (2^5 − 1 = 31) et 12 bits à la séquence (2^12 − 1 = 4095). Des valeurs au-dessus de ces limites déborderaient dans le champ suivant, donc le générateur les rejette.
- Puis-je utiliser un epoch personnalisé pour mon propre service ?
- Oui. Choisissez le préréglage Personnalisé et saisissez votre epoch en millisecondes Unix. Générer et Décoder utilisent alors cette valeur, ce qui vous permet de travailler avec tout schéma de style Snowflake qui garde la disposition de bits 42/5/5/12.
- Les ID que je génère ou décode sont-ils envoyés quelque part ?
- Non. Chaque décalage de bits s'exécute dans votre navigateur avec BigInt. Les horodatages, ID et valeurs de champs que vous tapez ou collez ne quittent jamais votre appareil et ne sont pas téléversés vers ArrayKit.
Outils associés
Tous les outils ArrayKit