Base64デコーダー

Base64テキストをテキストやファイルに戻します。

ブラウザ内で動作します。ファイルが端末から出ることはありません。

Base64のデコード方法

  1. Base64テキストを貼り付けます。
  2. テキスト出力を選ぶか、ファイル出力で元のファイルを検出・ダウンロードします。
  3. テキストをコピーするかファイルをダウンロードします。

Base64をバイト列に戻す仕組み

デコードはRFC 4648のエンコードを逆にする処理で、Base64の4文字ごとに3バイトになります。アルファベットはA-Z、a-z、0-9、+、/で、末尾のパディングに=を使います。

このツールは、どちらか指定しなくても標準とURLセーフ(+と/の代わりに-と_)の両方のアルファベットを受け付け、省略されたパディングも補います。

テキストモードとファイルモードの違い

テキストモードファイルモード
向いている用途プレーンテキストをエンコードしたBase64画像やPDFなどバイナリファイルをエンコードしたBase64
出力ボックス内の読める形のテキスト検出されたファイル形式とダウンロードボタン
選択を間違えた場合文字化けを表示汎用の.binファイルとしてダウンロード

このツールが認識するファイル署名

先頭バイト(16進数)ファイル形式
89 50 4E 47PNG画像
FF D8 FFJPG画像
47 49 46 38GIF画像
25 50 44 46PDFドキュメント
50 4B 03 04ZIPアーカイブ

それ以外の形式も正しくデコードされます。バイト列だけでは正確な形式が分からないため、.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文字ごとに改行することが多いため、デコード前に空白と改行は取り除かれます。

関連ツール