使い方
- 上部で「テキスト」または「ファイル」を選択します。
- テキストの場合は変換方向を選び、入力または貼り付けます。入力中に結果が更新されます。
- ファイルをエンコードするには、ファイルを選択するかドロップします(最大10 MB)。HTMLやCSSに埋め込む場合は、「data URLとして出力」にチェックを入れます。
- 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)は、特にスマートフォンでページの動作が遅くなることがあります。
プライバシー
エンコードとデコードはブラウザー内で行われます。テキストやファイルがアップロードまたは保存されることはなく、内容が分析データに含まれることもありません。ダウンロードファイルはお使いのデバイス上で作成されます。