tigtools

Base64エンコーダー/デコーダー

テキストやあらゆるファイルをBase64に変換したり、Base64を読み取り可能なテキストや元のファイルに戻したりできます。アクセント付き文字、絵文字、バイナリデータにも正しく対応します。

ブラウザー内で動作 登録不要

入力形式
変換方向

使い方

  1. 上部で「テキスト」または「ファイル」を選択します。
  2. テキストの場合は変換方向を選び、入力または貼り付けます。入力中に結果が更新されます。
  3. ファイルをエンコードするには、ファイルを選択するかドロップします(最大10 MB)。HTMLやCSSに埋め込む場合は、「data URLとして出力」にチェックを入れます。
  4. Base64をファイルに戻すには、「Base64 → テキスト」を選択してデータを貼り付け、「ファイルとしてダウンロード」をクリックします。

仕組み

Base64は、64種類の印字可能なASCII文字(A~Z、a~z、0~9、+、/)を使ってバイナリデータを表します。3バイトが4文字になるため、エンコード後のデータは元の約33%増しになります。入力の長さが3の倍数でない場合、出力の末尾に1つまたは2つの=が追加されます。

Base64はエンコード方式であり、暗号化ではありません。キーなしで誰でもデコードできるため、パスワードや個人データを隠す目的では絶対に使用しないでください。メール(MIME)、JSON、XML、HTTPヘッダー、データURLなど、テキスト用に作られたシステムでバイナリデータを扱うために使われます。

テキストはまずUTF-8バイト列に変換されるため、ASCII以外の文字も正しくエンコードされます。これは、ブラウザー組み込みのbtoa関数がéや絵文字などの文字で失敗するため重要です。デコード時には、結果が有効なUTF-8かどうかを確認します。有効でない場合はバイナリデータとして扱い、文字化けしたテキストではなく16進数で表示します。

URLセーフ版(base64url、RFC 4648第5節)では、+を-に、/を_に置き換え、通常は=によるパディングを省略します。これらの文字はURLで特別な意味を持つためです。JWTや多くのWeb APIで使用されています。MIMEの行折り返し(RFC 2045)では、出力を最大76文字の行に分割します。一部のメールシステムやPEM証明書ファイルで必要とされる形式です。

安全な範囲で、柔軟にデコードできます。空白と改行は無視され、不足しているパディングは補われ、どちらの文字セットも使用できます。余分な文字や途中にあるパディングなど、それ以外の問題は無視されず、位置とともに報告されます。

使用例

アクセント付き文字や絵文字を含むテキストのエンコード

「Grüße 👋」はR3LDvMOfZSDwn5GLになります。üとßはそれぞれUTF-8で2バイト、絵文字は4バイトを使うため、7文字が12バイト、16文字のBase64に変換されます。

HTTP Basic認証のAuthorizationヘッダーを作成する

ユーザー名が「alice」、パスワードが「s3cret」の場合、alice:s3cretをエンコードするとYWxpY2U6czNjcmV0になります。ヘッダーAuthorization: Basic YWxpY2U6czNjcmV0を送信します。Base64は暗号化ではないため、Basic認証は必ずHTTPS経由で使用してください。

データURLからファイルを復元する

data:image/png;base64,iVBORw0KGgo…のような文字列を「Base64 → テキスト」に貼り付けます。ツールはプレフィックスを取り除き、PNGデータとして認識します。テキストではないため16進数で表示され、「ファイルとしてダウンロード」を選ぶとdecoded.pngとして保存されます。

よくある質問

Base64は暗号化の一種ですか?

いいえ。Base64はキーや秘密情報を使わない、元に戻せるエンコード方式です。Base64文字列を見た人は誰でもすぐにデコードできるため、パスワード、トークン、個人情報の保護に使わないでください。

ほかのツールでデコードすると、文字化けするのはなぜですか?

通常は、テキストをUTF-8でエンコードし、Latin-1でデコードした(またはその逆の)場合に起こります。このツールは常にUTF-8を使用し、デコードしたバイト列が有効なUTF-8テキストでない場合はお知らせします。

Base64とbase64urlの違いは何ですか?

どちらも同じ方式ですが、base64urlでは+を-に、/を_に置き換え、通常は末尾の=パディングを省略します。そのため、追加のエスケープなしでURLやファイル名に使用できます。このデコーダーは両方の形式に対応しています。

Base64に変換すると、ファイルサイズが大きくなるのはなぜですか?

Base64では3バイトが4文字に変換されるため、サイズが約33%増えます。76文字ごとに改行すると、CRLFの2文字分がさらに加わります。大きな画像は、data URLに埋め込むより通常のファイルとして配信するのがおすすめです。

サイズ制限はありますか?

ファイルは最大10 MBまでです。貼り付けるテキストに固定の上限はありませんが、非常に大きな入力(数十MB)は、特にスマートフォンでページの動作が遅くなることがあります。

プライバシー

エンコードとデコードはブラウザー内で行われます。テキストやファイルがアップロードまたは保存されることはなく、内容が分析データに含まれることもありません。ダウンロードファイルはお使いのデバイス上で作成されます。