Base64デコーダー
Base64テキストをテキストやファイルに戻します。
ブラウザ内で動作します。ファイルが端末から出ることはありません。
- テキストまたはファイル出力
- URLセーフなBase64も読み取り
- アップロードなし
Base64のデコード方法
- Base64テキストを貼り付けます。
- テキスト出力を選ぶか、ファイル出力で元のファイルを検出・ダウンロードします。
- テキストをコピーするかファイルをダウンロードします。
Base64をバイト列に戻す仕組み
デコードはRFC 4648のエンコードを逆にする処理で、Base64の4文字ごとに3バイトになります。アルファベットはA-Z、a-z、0-9、+、/で、末尾のパディングに=を使います。
このツールは、どちらか指定しなくても標準とURLセーフ(+と/の代わりに-と_)の両方のアルファベットを受け付け、省略されたパディングも補います。
テキストモードとファイルモードの違い
| テキストモード | ファイルモード | |
|---|---|---|
| 向いている用途 | プレーンテキストをエンコードしたBase64 | 画像やPDFなどバイナリファイルをエンコードしたBase64 |
| 出力 | ボックス内の読める形のテキスト | 検出されたファイル形式とダウンロードボタン |
| 選択を間違えた場合 | 文字化けを表示 | 汎用の.binファイルとしてダウンロード |
このツールが認識するファイル署名
| 先頭バイト(16進数) | ファイル形式 |
|---|---|
| 89 50 4E 47 | PNG画像 |
| FF D8 FF | JPG画像 |
| 47 49 46 38 | GIF画像 |
| 25 50 44 46 | PDFドキュメント |
| 50 4B 03 04 | ZIPアーカイブ |
それ以外の形式も正しくデコードされます。バイト列だけでは正確な形式が分からないため、.bin拡張子でダウンロードされます。
Base64デコードが役立つ場面
- すでに分解したJWTのペイロードを読む、またはAPIがデータURLに埋め込んだ内容を確認する。
- 添付ファイルが正常に保存できないとき、メールの生ソースからファイルを復元する。
- 値をプレーンテキストではなくBase64として保存しているWebhookやログ行をデバッグする。
- 不審なメールの添付ファイルやリンクのパラメータを開く前に、正確な中身を確認する。
文脈によるBase64の違い
| 見かける場所 | 通常デコードされる内容 |
|---|---|
| メール添付ファイル(MIME) | 添付ファイルの生のバイト列 |
| JWTのペイロード | クレームのJSONオブジェクト |
| データURLの接頭辞 | 画像、フォント、その他の埋め込みアセット |
| 環境変数やシークレット | 鍵、証明書、その他の設定値 |
Base64デコードのFAQ
デコードが失敗するのはなぜですか?
Base64が使うのはA-Z、a-z、0-9、+、/(URLセーフなら-と_)だけです。それ以外の文字が含まれていたり、そもそもBase64ではないテキストはデコードに失敗します。
URLセーフなBase64もデコードできますか?
はい。標準とURLセーフの両方のアルファベットを受け付け、不足しているパディングも自動的に補います。
デコードされたテキストが文字化けしています。なぜですか?
そのBase64はテキストではなく、画像やPDFなどのバイナリファイルをエンコードしたものだと考えられます。ファイルモードに切り替えると、ファイルの種類を検出してダウンロードできます。
Base64テキストはサーバーに送信されますか?
いいえ。デコードはすべてブラウザ内で行われます。
ファイルモードはどんなファイル形式を検出できますか?
デコードされたデータの先頭バイトを読み取り、PNG、JPG、GIF、PDF、ZIPなど一般的な形式をその署名から認識します。それ以外は汎用の.bin拡張子でダウンロードされますが、正確なバイト列はそのまま取得できます。
Base64テキストにdata:という接頭辞が付いているのはなぜですか?
それはデータURLで、data:image/png;base64,のようにBase64をMIMEタイプで包んだものです。カンマより前をすべて取り除き、後ろの部分だけを貼り付けてください。
=記号によるパディングは重要ですか?
いいえ。不足している=パディングは自動的に補われるため、あってもなくてもデコードできます。
メールの添付ファイルのように改行が入ったBase64もデコードできますか?
はい。MIMEのルール(RFC 2045)では長いBase64テキストを76文字ごとに改行することが多いため、デコード前に空白と改行は取り除かれます。