メインコンテンツにスキップ

Base32エンコード/デコード

テキストをBase32にエンコード、またはBase32文字列をプレーンテキストにデコード(UTF-8対応、RFC 4648)。パディングを処理し、Base32文字を自動検証。

入力

出力

結果
役に立ちましたか?

ガイド

Base32はRFC 4648で定義されたバイナリ-to-テキストエンコーディング方式で、任意のバイトを32文字A–Z2–7だけを使用して表現し、=でパディングして出力を8文字の倍数にします。Base64とは異なり、Base32出力はケースインセンシティブ(大文字小文字を区別しない)で、視覚的に曖昧な文字を避けます(0/O1/Iの混乱なし)。そのため、機械間でコピーされるだけでなく、人間が入力したり読んだりすることを意図した場面で使われます。

用途

  • TOTP/2FAシークレット — Google Authenticator、Authyおよび類似アプリの背後にある共有シークレット(RFC 6238で指定)は、ほぼ常にBase32としてエンコードされ、手動入力やQRコードURIに埋め込むことができます。
  • DNS対応エンコーディング — DNSラベルは大文字小文字を区別せず、許可文字が制限されているため、ホスト名にバイナリデータ(ハッシュ、識別子)を格納する必要があるシステムは、Base64ではなくBase32を使うことがよくあります。
  • ファイルシステム対応識別子 — Base32の制限されたアルファベットは、大文字小文字を区別しないファイルシステム(従来のWindows/macOSのデフォルトなど)において特別な意味を持つ文字を回避します。Base64の+/、大文字小文字混在とは異なります。
  • 人間が読めるトークン — 復旧キー、ライセンスキー、ハードウェアシリアル番号など、人が音読したり転記したりする必要があるコードは、同じ曖昧性回避の理由からBase32を使うことが一般的です。

このツールの使い方

  1. 入力ボックスにテキストを貼り付けます。
  2. エンコードを選択してプレーンテキストをBase32に変換するか、デコードを選択してBase32文字列をテキストに戻します。
  3. 結果は出力ボックスに自動的に表示されます——ボタンをクリックする必要はありません。コピーアイコンやダウンロードアイコンを使用して取得してください。

エンコードは任意のUTF-8テキストを受け付けます(テキストはBase32エンコード前にUTF-8エンコードされるため、絵文字や非ラテン文字も正しくラウンドトリップします)。デコードは正しい=パディングを持つ妥当なBase32文字列を期待します。デコードされたバイトが有効なUTF-8テキストでない場合、あるいは入力にA–Z2–7=以外の文字が含まれている場合、ツールはゴミの出力を生成せず、明確なエラーを報告します。

FAQ

なぜ私のBase32出力は元のテキストよりも長いのですか? Base32は入力の5ビットごとに1つの出力文字でエンコードするため、常にデータが拡大します——入力5バイトごとに約8つの出力文字(サイズ増加約60%)、プラスパディングです。これは正常であり、RFC 4648仕様と正確に一致します。

Base32はBase64と同じですか? いいえ。どちらもバイナリ-to-テキストエンコーディングですが、Base64は64文字アルファベット(よりコンパクトな出力)を使用し、Base32は32文字アルファベット(出力は大きいですが、大文字小文字を区別せず、曖昧な文字がありません)を使用します。コンパクトさが必要な場合はBase64を、出力が入力・音読・大文字小文字を区別しない場所への埋め込みが必要な場合はBase32を使用してください(例:TOTPシークレット)。

Base32は暗号化ですか? いいえ——Base32は暗号化でも圧縮でもありません。これは純粋に表現形式であり、誰でも元のデータに即座にデコードできます。機密情報を保護するために使用しないでください。

なぜデコードが失敗することがあるのですか? Base32は入力長(=パディングを含む)が8文字の倍数であること、かつ、データ文字の数に応じて特定の数のパディング文字があることを要求します。パディングが欠けている、間違っている、あるいは文字列にBase32アルファベット外の文字が含まれている場合、デコードは意味のないバイトを黙って返すのではなく、記述的なエラーで失敗します。

プライバシー

すべてのエンコードとデコードは完全にブラウザ内で行われます——テキストはデバイスを離れ、サーバーに送信されることはありません。

base32encodedecodeencodingrfc4648developer

Use it from code

From 3 credits per call

REST API

curl -X POST https://api.iotools.cloud/v1/tool/base32-encoder-decoder \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "inputText": "foobar",
    "mode": "encode"
  }'

Swap in your own key from your account. The tool's fields are the body — no wrapper.

Ask an AI agent

Use the IOTools `base32-encoder-decoder` tool (Base32 Encoder/Decoder) on this input:

YOUR_INPUT_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

ツールが気に入りましたか?広告をなくしましょう。

1回のお支払いでアカウントから広告が完全になくなります。サブスクリプションも追跡もありません。