Перейти до вмісту

Декодер Snowflake ID

Розкладіть 64-бітний Snowflake ID на його компоненти: часову мітку, машинний ідентифікатор і номер послідовності.

Введення
Вихід

Декодер Snowflake ID

Вставте один або декілька Snowflake ID — 64-бітні ідентифікатори, які використовують Twitter, Discord, Instagram, Mastodon і безліч внутрішніх систем, створених за їх зразком, — і цей інструмент розкладе кожний ID на його компоненти: часову мітку, машинні ідентифікатори і номер послідовності. Кожен сервіс додає Snowflake ID до даних (твіт, повідомлення Discord, рядок бази даних), щоб ID сортувалися хронологічно і могли бути створені безліччю машин одночасно без етапу координації.

Виберіть епоху, відповідну вашому джерелу, під заголовком "Епоха / формат": Twitter і Discord використовують однаковий формат бітів, але різні стартові дати, Instagram розподіляє біти інакше (ширше поле осколка, без окремого ID працівника), а Mastodon повністю пропускає поля машин на користь простої часової мітки в мілісекундах плюс послідовність. Виберіть "Користувацька" і вкажіть власну епоху в Unix мілісекундах для будь-якої іншої Snowflake-подібної схеми. Опція "Показати локальний час" додає часовий пояс вашого пристрою поруч із часовою міткою UTC, а "Показати розбір у двійковій системі" виводить необроблені групи бітів, щоб ви могли бачити точно, які біти містять яке поле.

Переключіть "Напрямок" на "Дата → граничний ID" для виконання оберненої операції: введіть дату (простий формат 2026-08-11 або повну часову мітку ISO 8601) і отримайте найменший і найбільший Snowflake ID, який міг існувати в ту мілісекунду — пару, яку більшість API очікують як курсори "до"/"після" при пагінації за ID замість номера сторінки. Кожен рядок обробляється незалежно, тому ви можете декодувати весь журнал ID або створити межі для цілого списку дат за один прохід. Інструмент перевіряє, що кожне значення відповідає 64-бітному Snowflake, і повідомляє про неправильні або такі, що виходять за межі, рядки замість їх тихого пропуску.

Все виконується локально у вашому браузері — вставлені ID, дати і будь-яка користувацька епоха ніколи не покидають ваш пристрій, тому це безпечно використовувати з production-даними. Скопіюйте результат, завантажте його як файл .txt або відправте прямо на вхід іншого інструмента для продовження роботи.

FAQ

Що таке Snowflake ID?
64-бітне число, яке об'єднує часову мітку в мілісекундах, один або два ідентифікатори машини і лічильник послідовності за мілісекунду в одне відсортоване ціле число. Twitter представив цю схему; Discord, Instagram, Mastodon і безліч внутрішніх систем використовують її варіанти.
Чому для Twitter і Discord ID потрібні різні налаштування?
Вони використовують однаковий формат бітів, але рахують мілісекунди з різних стартових точок — епоха Twitter починається у листопаді 2010 року, епоха Discord у січні 2015 року. Вибір неправильного варіанта дає часову мітку, яка може відрізнятися на роки.
Яка різниця між декодуванням і напрямком "Дата → граничний ID"?
Декодування читає існуючий ID і розбирає його на складові частини. Напрямок граничного ID робить протилежне: за заданою датою воно створює найменший і найбільший ID, який та часова мітка могла б створити, що багато API використовують як курсори пагінації.
Чому Instagram показує осколок, але не окреме поле працівника?
Формат Instagram виділяє більше бітів для одного ідентифікатора осколка замість розділення ID центру обробки даних і ID працівника, як це роблять Twitter і Discord, — це навмисна різниця у дизайні, а не пробіл у декодуванні.
Завантажуються ли мої дані кудись?
Ні. Кожен ID, дата і користувацька епоха, які ви введете, обробляються повністю у вашому браузері і ніколи не відправляються на сервер.