Snowflake ID デコーダー (Discord, Twitter)
開発
Snowflake は、ミリ秒タイムスタンプ、マシン識別子、ミリ秒ごとのシーケンスカウンタを 1 つのソート可能な数値に詰めた 64 ビット ID です。Discord、Twitter/X、Instagram をはじめ多くの分散システムで使われています。このデコーダーは ID を各部分に分解します:上位ビットをシフトして生のタイムスタンプを復元し、プラットフォームのカスタムエポックを加えて実際の UTC 日時を得て、下位ビットをそのプラットフォームが使うワーカー・プロセス・データセンター・シャード・シーケンスのフィールドに分解します。Discord(エポック 2015-01-01、5 ビットワーカー + 5 ビットプロセス + 12 ビットインクリメント)、Twitter/X(エポック 2010-11-04、5+5+12)、Instagram(13 ビットシャード + 10 ビットシーケンス)、または独自エポックのカスタムから選べます。タイムスタンプは ISO UTC、ローカル時刻、相対表示「x 前」、生のエポックミリ秒で表示されます。すべてローカルで動作し、アップロードされません。
タイムスタンプ
フィールド
Discord エポック 2015-01-01 · Twitter/X 2010-11-04 · Instagram 2011-08-24。ID を発行したプラットフォームで復号してください。
使い方
- プラットフォームを選択(Discord・Twitter/X・Instagram・カスタム)。
- Snowflake ID を貼り付け — 例:Discord のユーザーやメッセージ ID。
- 生成タイムスタンプとワーカー / シーケンスフィールドを読み、必要に応じて UTC 時刻やエポックをコピー。
よくある質問
- Snowflake ID はどこで見つかりますか?
- Discord では開発者モードを有効にし、ユーザー・メッセージ・チャンネル・サーバーを右クリックして ID をコピーします。Twitter/X ではツイート URL 末尾の長い数字です。Instagram のメディア ID は API が返します。これらの長い数値 ID はいずれもここで復号できます。
- なぜプラットフォームごとに異なるエポックが必要ですか?
- Snowflake のタイムスタンプは Unix エポックではなく選ばれた『エポック』からのミリ秒を数えるため、少ないビットに収まります。Discord は 2015-01-01、Twitter/X は 2010-11-04、Instagram は 2011-08-24 を使います。間違ったプラットフォームで復号すると日付が数年ずれます — ID を発行した発生元を選んでください。
- ワーカーとシーケンスのフィールドとは?
- 調整なしで ID を生成するため、各マシンは自身の識別子(Discord はワーカー/プロセス、Twitter はデータセンター+ワーカー、Instagram はシャード)と、同じミリ秒に作られた複数 ID で増加するシーケンスカウンタを埋め込みます。これにより、どのノードが ID を生成し、おおよそどれだけ忙しかったかが分かります。
- タイムスタンプは正確ですか?
- はい — ミリ秒タイムスタンプは ID に直接エンコードされているため、生成時刻はミリ秒単位で正確です(生成サーバーの時計が正しかった前提)。相対時間はお使いのデバイスの現在時計に対して計算されます。
関連ツール
Base64 ↔ 16進数 変換
Base64 文字列を16進数バイトに、16進数を Base64 に戻します。URL セーフ対応、ブラウザ上で動作します。
Quoted-Printable エンコーダー & デコーダー
テキストを MIME Quoted-Printable(RFC 2045)にエンコード、または復号 — =XX エスケープ・ソフト改行・UTF-8 に対応、エンコード時は 76 文字で折り返し — ブラウザ内で。
ハッシュ生成 (SHA)
テキストから SHA-1・SHA-256・SHA-384・SHA-512 ハッシュを生成。
URL エンコーダー / デコーダー
URL 用にテキストをパーセントエンコード、または URL をデコード。
Base64 エンコーダー / デコーダー
テキストを Base64 にエンコード、または Base64 をテキストにデコード。
JSON フォーマッター & バリデーター
ブラウザで JSON を整形・並べ替え・圧縮・検証できます。