Base64 エンコード/デコード — 絵文字対応
使い方
テキストを入力欄に入力すると、リアルタイムでBase64エンコード・デコードが実行されます。モード切替ボタンでエンコードとデコードを切り替えられます。
Base64とは
Base64はバイナリデータをASCII文字列に変換するエンコード方式です。HTML/CSSへの画像埋め込み、JSONやXMLでのデータ送信、メール添付ファイル(MIME)のエンコードなどに広く使われています。
UTF-8対応
本ツールはUTF-8に完全対応しています。ブラウザ標準のbtoa()関数はASCIIのみ対応ですが、本ツールはTextEncoder/TextDecoderを使用して日本語・中国語・韓国語・絵文字などのマルチバイト文字を正しく処理します。
活用シーン
- データURIスキーム: CSSやHTMLに小さな画像をBase64で直接埋め込むことで、HTTPリクエスト数を削減できます(例: background-image: url(data:image/png;base64,...))
- APIペイロード: REST APIでバイナリデータ(画像・ファイル)をJSONに含めて送信する際にBase64エンコードが必要です
- メール添付: MIME形式のメールでは添付ファイルがBase64でエンコードされています。デコードで中身を確認できます
- JWT(JSON Web Token): JWTのペイロード部分はBase64urlでエンコードされており、デコードすることで中身のクレーム情報を確認できます
Base64の注意点
Base64エンコードするとデータサイズが約33%増加します。これは3バイトのバイナリデータを4文字のASCII文字に変換するためです。大きなファイルのエンコードにはサイズの増加に注意してください。また、Base64は暗号化ではなく単なるエンコーディングです。誰でも簡単にデコードできるため、機密データの保護には暗号化を別途使用する必要があります。
プライバシー
すべてのエンコード・デコード処理はブラウザ内で完結します。データがサーバーに送信・保存・記録されることは一切ありません。APIキーやトークンなどの機密データも安心してご利用いただけます。
よくある質問
Base64 は暗号化ですか?
いいえ、Base64 はバイナリデータを ASCII 文字列に変換する単なるエンコード方式です。誰でも簡単にデコードできるため、機密データの保護には AES などの暗号化を別途使う必要があります。
ブラウザ標準の btoa() / atob() と何が違いますか?
btoa() / atob() は ASCII のみ対応で、日本語や絵文字を含む文字列は文字化けします。本ツールは TextEncoder/TextDecoder を使い UTF-8 を正しく扱うため、マルチバイト文字や絵文字も問題なくエンコード/デコードできます。
Base64URL と通常の Base64 はどう違いますか?
Base64URL は URL やファイル名で安全に使えるよう、+ と / を - と _ に置き換えた変種です。JWT のペイロードなどで使われます。本ツールは標準 Base64 を出力します。
Base64 エンコードでデータサイズはどれくらい増えますか?
約 33% 増加します。3 バイトのバイナリが 4 文字の ASCII に変換されるためです。大きなファイルを Data URI に埋め込む際は、このサイズ増加を考慮してください。
エンコード結果をそのまま data:image/... に貼って画像表示できますか?
はい、画像ファイルをエンコードした結果を CSS の background-image: url(data:image/png;base64,...) などに直接貼り付けて使えます。小さなアイコンを HTTP リクエストなしで埋め込めるため、初期表示の高速化に有効です。