Base32エンコード・デコード
テキストや16進数のバイト列をBase32(RFC 4648)にエンコード、またはBase32をテキストにデコードします。標準とBase32hexのアルファベット、=パディングの有無に対応。
Base32: RFC 4648 §6で定義された方式です。
Base32は、大文字のA–Zと数字の2–7という32種類の文字だけでバイナリデータを表します。そのため、大文字小文字を区別しないシステムやファイル名、読み上げでも結果が崩れません。認証アプリ(TOTPの二段階認証コード)の秘密鍵の形式で、RFC 4648で定義されています。このツールは、UTF-8のテキストや16進数のバイト列をエンコードし、Base32をテキストとバイト列にデコードします。
使い方
- エンコードかデコードかを選びます。
- テキストを貼り付けます。エンコードで生のバイト列を扱う場合は、「入力の形式」を16進数に切り替えます。
- お使いのシステムがBase32hex(たとえばDNSSECのNSEC3レコード)を指定していない限り、標準のアルファベットのままにします。
- 受け取る側が末尾の=記号を望まない場合は、パディングをオフにします(ほとんどのTOTPアプリはどちらも受け付けます)。
計算式
5バイト(40ビット)を5ビットずつ8つのグループに分け、各グループ(0–31)がアルファベットの文字を1つ選びます。
最後の端数のグループは0のビットで埋め、パディングをオンにすると=記号で長さを8の倍数にそろえます。出力サイズは入力の8/5、つまり60%増えます。Base64は約33%の増加です。
計算例
テキスト "foobar"(6バイト)をエンコードすると、RFC 4648の公式テストベクターである MZXW6YTBOI====== になります。最初の5バイトが MZXW6YTB、6バイト目の "r" が OI になり、=記号6つで16文字にそろえられます。Base32hexのアルファベットでは、同じ入力が CPNMUOJ1E8====== になります。
よくある質問
二段階認証の秘密鍵が JBSWY3DPEHPK3PXP のような見た目なのはなぜですか?
認証アプリは共有鍵をBase32で保存しており、似た文字と数字を取り違えずに人が手入力できるようにしています。ここでデコードすると、生の鍵のバイト列を16進数で確認できます。
標準のBase32に0、1、8、9がないのはなぜですか?
RFC 4648では、0、1、8がO、I/L、Bに似ているため除外されています。数字は2–7だけが使われ、アルファベット26文字と合わせて32種類の記号になります。
Base32は暗号化ですか?
いいえ。鍵のない元に戻せるエンコードなので、誰でもデコードできます。データを守るには、本物の暗号化を使ってください。
デコードでは小文字やスペースは問題になりますか?
いいえ。デコーダーはスペースと改行を無視し、小文字も受け付け、=パディングの有無にかかわらず動作します。
出典
最終更新:
この入力内容のページアドレス: https://kakao.mobile/ja/tools/base32-encoder/
このツールを引用する
kakaoCalc. (2026, November 8). Base32エンコード・デコード. https://kakao.mobile/ja/tools/base32-encoder/
“Base32エンコード・デコード.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/base32-encoder/.