エンコード
デコード
UTF-8 テキスト
バイト(16進)
標準
URLセーフ
UTF-8 テキスト
出力
結果がここに表示されます。
入力を貼り付けるか、例を読み込むと結果がここに表示されます。
Base64をエンコード・デコードする方法
Base64 Encoder はテキストやバイト列を Base64 に変換し、元に戻します。処理はこのブラウザーのタブ内で完結するため、値がアップロードされることはありません。入力が UTF-8 テキストか16進バイトか、標準アルファベットか URL セーフか、デコード時に空白とパディングをどこまで厳格に扱うかを選べます。デコードできない場合は、不正な文字・不正なパディング・不正な UTF-8 のどれなのかと、問題が起きたバイト位置を示します。
4ステップでエンコードまたはデコードする
- エンコードかデコードを選ぶモード切り替えで方向を変えます。エンコードは入力を Base64 にし、デコードは Base64 を元のテキストやバイト列に戻します。入力と同時に結果が更新されるので、実行ボタンを押す必要はありません。
- 内容の種類を指定する通常の文字列なら UTF-8 テキスト、バイナリーデータを扱うならバイト(16進)を選びます。バイトモードでは 48 65 6c のような16進のペアで入出力し、ペアの間の空白は許容されます。
- アルファベットを選ぶ標準の Base64 はプラスとスラッシュ、URL セーフはマイナスとアンダースコアを使います。JWT・クエリー文字列・ファイル名には URL セーフが必要です。デコードも同じ選択を使うので、その値が作られたアルファベットを選んでください。
- デコード方針を決めてコピーまたはダウンロードする厳格モードは空白や長さの合わないパディングをすべて拒否します。寛容モードは空白を取り除き、足りないパディングを補い、どの修復を行ったかを知らせます。結果はクリップボードにコピーするか .txt として保存でき、バイトへデコードした場合は .bin として保存されます。
Base64 Encoder の使いどころ
- ログや設定ファイルのBase64値を読むYAML ファイル、環境変数、リクエストボディーから取り出した値を貼り付け、実際のテキストを確認します。
- JWTの区画を手動でデコードするトークンの区画はパディングのない URL セーフ Base64 です。URL セーフと寛容モードを選べば足りないパディングが補われます。
- ヘッダーやクエリー文字列に入れる値を作る資格情報や識別子を Authorization ヘッダー、data URI、URL パラメーターに入れる前に Base64 にします。
- バイナリーデータを16進で調べるバイト(16進)にデコードすると実際のバイト列が見えるため、余分な BOM や想定と違う形式のファイルにすぐ気付けます。
Base64 のよくある質問
- 入力した値はどこかへアップロードされますか?
- いいえ。エンコードもデコードもこのブラウザーのタブ内で実行され、値がサーバーへ送られたり記録・保存されたりすることはありません。
- Base64は暗号化ですか?
- いいえ。Base64 は暗号化ではなく、機密性はまったくありません。バイトをテキストで表す可逆的な形式なので、文字列を見た人は誰でも復元できます。バイナリーをテキスト経路で運ぶための道具であり、秘密を守る手段ではありません。
- 標準とURLセーフのBase64は何が違いますか?
- アルファベットの最後の2文字が違います。標準はプラスとスラッシュ、URL セーフはマイナスとアンダースコアを使い、URL のパスやクエリー文字列、ファイル名に入れても値が壊れません。
- デコードでパディングのエラーが出るのはなぜですか?
- Base64 は4文字単位で動き、等号でパディングします。パディングなしで保存された値は長さが4の倍数になりません。デコード方針を寛容に切り替えれば、足りないパディングを補って読み取ります。
- パディングを付けずにエンコードできますか?
- このページではできません。エンコード結果には必ず等号のパディングが付きます。パディングなしの値が必要なら末尾の等号を自分で削ってください。デコードは寛容モードでどちらの形式も受け付けます。
- デコードするとUTF-8のエラーになるのはなぜですか?
- Base64 自体は正しくても、その先のバイトがテキストではない場合です。画像や圧縮された書庫が典型例です。内容の種類をバイト(16進)に変えればデータを読め、ダウンロードボタンでファイルとして保存できます。