🔐

Base64 エンコード・デコード

テキスト・ファイルを Base64 に変換/復元
URL-safe・画像プレビュー・Data URI 生成対応

📝 テキスト変換 📁 ファイル対応 🖼️ 画像プレビュー 🔗 URL-safe対応
テキスト入力
Base64

🛒 おすすめグッズ

Web開発・セキュリティに役立つ本とツール

使い方・特徴

📝
テキスト変換

テキスト入力欄に文字を入力すると Base64 に自動変換。「Base64 → テキスト」モードに切り替えてデコードも可能。日本語(UTF-8)に完全対応。

📁
ファイル変換

「ファイル」タブでどんなファイルも Base64 に変換。画像ファイルならプレビューも表示。Data URI 形式(data:image/png;base64,…)での出力にも対応。

🔗
URL-safe Base64

+-/_ に置換し、パディング = を省いた URL-safe 形式(RFC 4648)に変換します。JWT や URL パラメータに使用する場合に便利です。

📧
MIME 改行

メールで使用される MIME 規格に従い、76 文字ごとに改行を挿入します。古いメールクライアントや一部のシステムとの互換性が必要な場合に使用します。

入出力入れ替え

「⇅」ボタンで入力と出力の内容を即座に入れ替えできます。エンコード結果をすぐにデコードして確認する際に便利です。

💾
Base64 → ファイル

「ファイル」タブの「Base64 → ファイル」で Base64 文字列をファイルとしてダウンロード。MIMEタイプを選択して保存形式を指定できます。

📊 Base64 形式・サイズ早見表

よく使われる形式と、エンコード後のサイズ増加の目安

形式 文字セット 主な用途 サイズ増加
標準 Base64 A–Z a–z 0–9 + / = MIME メール・HTML埋め込み 約 +37%
URL-safe Base64 A–Z a–z 0–9 - _(= 省略可) JWT・URLパラメータ・ファイル名 約 +33%(= なし)
Data URI(画像) data:image/png;base64,… HTML <img src>・CSS background-image +37% + プレフィックス
MIME 76文字改行 標準 Base64 + 改行 旧メールクライアント・SMTP 約 +39%
Base64 (1 KB) 元サイズ 1,024 B → 約 1,368 B
Base64 (1 MB) 元サイズ 1,048,576 B → 約 1.37 MB

※ サイズ増加は 3 バイト → 4 文字変換(4/3 倍 ≈ 133%)による。パディング省略時は若干小さくなる場合あり。

💡 活用シーン

🌐
Webフロントエンド開発

小さなアイコンや背景画像をBase64でHTMLに直接埋め込み。HTTPリクエスト数を削減してページ読み込みを高速化。

📧
HTMLメール制作

メール本文に画像をBase64埋め込みし、外部リンク切れや画像ブロックを防止。受信者に確実に画像を届けられる。

🔌
API・ファイル転送

JSONやXMLでバイナリファイルを送受信する際にBase64で文字列化。REST APIでの添付ファイル送信に活用。

🔐
JWT・認証トークン

JWTのヘッダー・ペイロードはURL-safe Base64でエンコード。URL-safeオプションで同形式の文字列を確認・検証。

🔍
データ検証・デバッグ

APIレスポンスのBase64文字列をその場でデコードして内容を確認。文字化けやパディングエラーの原因調査に役立つ。

📁
ファイル形式変換

PDF・ZIP等のバイナリファイルをBase64文字列として取り出し、別システムへのデータ移行や設定ファイルへの埋め込みに。

💬 よくある質問

Q. Base64とは何ですか?
Base64はバイナリデータ(画像・ファイルなど)を64種類のASCII文字(A〜Z・a〜z・0〜9・+・/)で表現するエンコード方式です。メールやHTMLなど、テキストしか扱えない通信経路でバイナリデータを送受信するために使われます。
Q. なぜBase64エンコードが使われるのですか?
メール(MIME)・JSON・XML・HTMLのdata属性など、テキスト形式しか許可されていないフォーマットでバイナリデータを扱う必要があるためです。例えばHTMLのタグにBase64で画像を直接埋め込むことで、外部ファイルなしで画像を表示できます。
Q. 画像をBase64に変換して何に使いますか?
主な用途は①HTMLメールへの画像埋め込み②CSSのbackground-imageへの直接埋め込み③小さなアイコン画像をHTMLに直接含めてHTTPリクエストを減らすWebパフォーマンス最適化④APIでのファイル送受信です。
Q. Base64エンコードするとファイルサイズはどのくらい増えますか?
Base64エンコードするとデータ量は元のサイズの約133%(約4/3倍)になります。例えば1MBの画像は約1.3MBのBase64文字列になります。大きなファイルには不向きで、通常は小さなファイルやアイコン程度に使用するのが適切です。
Q. URLセーフなBase64とは何ですか?
通常のBase64は「+」「/」「=」を含みますが、これらはURLの区切り文字と衝突します。URLセーフBase64では「+」→「-」「/」→「_」に置き換えることでURLやファイル名に安全に使用できます。本ツールでもURLセーフ形式に対応しています。
Q. 入力したデータはサーバーに送信されますか?
いいえ、本ツールはすべてブラウザ内(JavaScript)で処理されます。入力したテキストや選択したファイルは一切サーバーに送信されません。機密データや個人情報を含むファイルも安全にエンコード・デコードできます。
Q. JWTとBase64の関係は?
JWT(JSON Web Token)はヘッダー・ペイロード・署名の3つをURL-safe Base64でエンコードして「.」で連結した形式です。通常のBase64とは異なり「+」→「-」「/」→「_」に置換しパディング「=」を省いたURL-safe Base64が使われます。本ツールの「URL-safe」オプションで同じ形式に変換できます。
Q. Base64エンコードは暗号化ですか?
いいえ、Base64エンコードは暗号化ではありません。エンコードは単なる形式変換であり、誰でも簡単にデコード(元に戻す)できます。機密データの保護には、AES等の暗号化アルゴリズムを別途使用してください。Base64はデータを安全に「転送・埋め込み」するための形式変換であり、セキュリティ目的には使えません。
Q. HTMLのimgタグにBase64画像を埋め込む方法は?
本ツールの「ファイル」タブで画像を選択し「Data URI形式」にチェックを入れると「data:image/png;base64,iVBOR…」形式の文字列が生成されます。これをHTMLの <img src="data:image/png;base64,…"> のsrc属性に貼り付けるだけで外部ファイルなしに画像を表示できます。小さなアイコンや背景画像に適しています。
Q. JavaScriptでBase64エンコード・デコードするには?
ブラウザ環境では組み込み関数 btoa() と atob() が使えます。日本語対応のエンコードは btoa(unescape(encodeURIComponent(str)))、デコードは decodeURIComponent(escape(atob(b64))) で行います。Node.jsでは Buffer.from(str).toString('base64') でエンコード、Buffer.from(b64, 'base64').toString('utf8') でデコードします。

🔗 関連ツール