Base32 エンコーダー / デコーダー

RFC 4648・Crockford・z-base-32 の各アルファベットで Base32 をエンコード/デコード。パディングと大文字小文字を設定でき、テキストもファイルもブラウザ内で処理。

入力内容とファイルはブラウザ内に留まります

エンコードするテキストを入力するか、デコードする Base32 を貼り付けてください(下にファイルをドロップすることもできます)。

ここにファイルをドラッグ&ドロップ

ファイルを選択した場合、テキスト入力の代わりに使用されます。

デコードオプション

エンコードまたはデコードの結果がここに表示されます。

このページの内容

テキストやファイルを Base32 にエンコードし、RFC 4648・Crockford・z-base-32 の 3 種類のアルファベットでデコードできます。処理はすべて Rust からコンパイルした WebAssembly モジュールがブラウザ内で行うため、貼り付けたシークレットは送信されません。

詳細な機能

Base32 は 1 文字に 5 ビットを格納し、英字と数字だけを使うため、大文字小文字が変わっても壊れず、手入力や読み上げにも向いています。RFC 4648(A–Z、2–7)は認証アプリの TOTP シークレットや Tor の onion アドレスで使われるアルファベットです。Crockford(0–9 と I・L・O・U を除く A–Z)は人が扱うことを想定しており、デコード時に I と L を 1、O を 0 として読み、ハイフンを無視します。z-base-32 は読みやすさ重視で並べた小文字のアルファベットで、パディングは付きません。

8 文字の倍数にそろえる = パディングは、必須・オプション・なしから選べます。文字ケース で出力を大文字または小文字に固定でき、自動 はアルファベット本来の表記を保ちます。デコードはどのアルファベットでも大文字小文字を区別せず、空白/改行を許可 がオンならスペースや改行も読み飛ばします。

テキストは選んだ文字セット(UTF-8、UTF-16LE、UTF-16BE、ASCII、ISO-8859-1)でバイト列に変換されます。ファイルは選択またはドロップでき、Web Worker で進捗バーと キャンセル 付きで読み込まれます。デコード結果が有効なテキストでない場合はその旨が表示され、ダウンロード で生のバイト列を保存できます。

実用例

3 種類のアルファベット: hello は NBSWY3DP(RFC 4648)、D1JPRV3F(Crockford)、pb1sa5dx(z-base-32)になります。

パディングとケース: Hi はパディング 必須 で JBUQ====、パディングなし で JBUQ になり、文字ケース を 小文字 にすると jbuq==== になります。

大文字小文字を区別しないデコード: JBSWY3DPEE====== も jbswy3dpee====== も Hello! になります。パディングを オプション にすれば、パディングなしの JBSWY3DPEE もデコードできます。

Crockford の許容性: Crockford アルファベットでは、DIJPRV3F(1 の代わりに英字 I)も d1jp-rv3f(小文字とハイフン)も hello にデコードされます。

このツールの使い方

  1. テキストを入力するかファイルを選ぶ

    入力 (テキスト) にテキストを入力または貼り付けるか、ファイルをページにドロップするか ファイルを選択 をクリックします。

  2. アルファベットとパディングを選ぶ

    アルファベット で RFC 4648 (A-Z2-7)、Crockford (0-9A-Z)、z-base-32 のいずれかを選びます。パディング、文字ケース、テキストが UTF-8 以外なら テキスト文字セット も設定します。

  3. エンコードまたはデコードする

    エンコード で Base32 を生成し、デコード で元のテキストやバイト列に戻します。文字列を作成したときと同じアルファベットを使ってください。

  4. コピーまたはダウンロードする

    コピー で結果をクリップボードへ、ダウンロード でファイルに保存します。バイナリの結果はダウンロードのみ可能です。

ヒントとベストプラクティス

  • Base32 の出力は入力より約 60% 長くなります(5 バイトごとに 8 文字)。大文字小文字の区別が問題にならないなら Base64 の方がコンパクトです。
  • otpauth:// の QR コードに含まれる TOTP シークレットは RFC 4648 の Base32 で、パディングがないことが多いので オプション を選びます。JBSWY3DPEHPK3PXP は 10 バイトの生データになるため、ダウンロード で保存してください。
  • パディングが 必須 のままだと JBSWY3DPEE のような入力は拒否されます。オプション に切り替えてください。
  • アルファベットに互換性はありません。pb1sa5dx は z-base-32 でのみ hello になり、RFC 4648 としては無効です。
  • 空白/改行を許可 がオンの間は、貼り付けたキーのスペースや改行は無視されます。