Base64 エンコード・デコード
Base64 エンコード・デコードツールは、テキストとファイルの Base64 エンコード・デコードに対応し、標準 Base64 と URL セーフな Base64URL の2つの形式を提供します。データ転送、ファイル埋め込み、API 認証などのシーンに適用できます。
Base64 とは
Base64 は、バイナリデータを ASCII 文字列に変換するエンコード方式で、64個の印刷可能な文字(A-Z、a-z、0-9、+、/)を使用してデータを表現します。印刷可能な文字のみを使用するため、Base64 エンコードされたデータはテキストプロトコル内で安全に転送できます。
Base64 は以下の用途で広く利用されています。
- HTML や CSS での画像埋め込み(Data URI)
- URL や Cookie でのデータエンコード
- 電子メールなどのテキストプロトコルでのバイナリ添付ファイル転送
- JSON や XML でのバイナリデータ保存
- API 認証(HTTP Basic Authentication など)
機能特徴
テキストとファイルの2種類の入力方式に対応し、標準 Base64 と Base64URL の2つのエンコード形式を提供します。すべての処理はブラウザ上でローカルに完了し、サーバーにデータを送信しないため、プライバシーが保護されます。
テキストのエンコード・デコードは UTF-8 エンコーディングに対応しており、中国語、日本語、韓国語、アラビア語などのあらゆる Unicode 文字を処理できます。
ファイルエンコードは任意のファイル形式に対応し、生成された Base64 文字列は Data URI やその他の Base64 表現が必要なシーンで直接利用できます。
使用方法
テキストのエンコード
- エンコードモードを選択
- 入力欄にテキストを入力
- エンコード結果が自動的に表示される
- Base64URL 形式が必要な場合は、Base64URL オプションにチェック
- コピーボタンをクリックして結果を取得
テキストのデコード
- デコードモードを選択
- 入力欄に Base64 文字列を貼り付け
- Base64URL 形式の場合は、Base64URL オプションにチェック
- デコード結果が自動的に表示される
- コピーボタンをクリックして結果を取得
ファイルのエンコード
- ファイルアップロードエリアをクリック、またはファイルをドラッグ&ドロップ
- ファイル読み込みが完了するまで待機
- Base64 エンコード結果が自動的に表示される
- Base64URL 形式が必要な場合は、Base64URL オプションにチェック
- コピーボタンをクリックして結果を取得
Base64 と Base64URL
標準 Base64:A-Z、a-z、0-9、+、/ の計64文字を使用し、パディング文字は = です。
Base64URL:+ を - に、/ を _ に置き換え、パディング文字 = を削除します。
Base64URL は URL セーフなエンコード変種で、以下のシーンに適用できます。
- URL パラメータでのデータ転送
- ファイル名にエンコードデータを含める
- JWT(JSON Web Token)のエンコード
+、/、=文字の使用が許可されないその他のシーン
応用シーン
Data URI による画像埋め込み
HTML で小さな画像を直接埋め込み、HTTP リクエストを削減します。
<img src="data:image/png;base64,iVBORw0KGgo..." />
CSS で背景画像を埋め込みます。
background-image: url(data:image/svg+xml;base64,PHN2Zy...);
API 認証
HTTP Basic Authentication では、ユーザー名とパスワードを Base64 エンコードします。
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
JWT トークン
JSON Web Token の Header と Payload 部分は Base64URL エンコードを使用します。
ファイル転送
JSON API でファイル内容を転送します。
{
"filename": "document.pdf",
"content": "JVBERi0xLjQKJ..."
}
メール添付ファイル
MIME プロトコルは Base64 エンコードでメール添付ファイルを処理します。
使用例
テキストエンコードの例
入力テキスト:Hello, World!
標準 Base64 出力:SGVsbG8sIFdvcmxkIQ==
Base64URL 出力:SGVsbG8sIFdvcmxkIQ
日本語テキストの例
入力テキスト:こんにちは世界
標準 Base64 出力:44GT44KT44Gr44Gh44Gv5LiW55WM
ファイルエンコードの例
小さな画像ファイルをアップロードすると、以下のような Base64 エンコードが得られます。
iVBORw0KGgoAAAANSUhEUgAAAAUA...
これを Data URI で使用できます。
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..." />
注意事項
エンコードサイズの増加
Base64 エンコード後のデータサイズは元のデータの約133%(約33%増加)です。大きなファイルの場合、エンコード後の容量が大幅に増加します。
ブラウザのパフォーマンス
大きなファイルを処理する際、ブラウザはエンコード・デコードに長時間を要する場合があります。1ファイルあたり10MB以下を推奨します。
文字エンコーディング
テキストエンコードは UTF-8 エンコーディングを使用し、すべての Unicode 文字に対応しています。デコード時、元のデータが UTF-8 エンコードのテキストでない場合、文字化けが発生する可能性があります。
無効な入力
デコード時、入力された Base64 文字列に不正な文字が含まれていたり、形式が誤っている場合は、エラーメッセージが表示されます。
プライバシー保護
すべてのエンコード・デコード操作はブラウザ上でローカルに完了し、データはサーバーにアップロードされません。
よくある質問
Base64 は暗号化ですか$1
いいえ。Base64 はエンコード方式であり、暗号化アルゴリズムではありません。誰でも Base64 文字列を簡単にデコードできるため、機密情報の保護には使用しないでください。
エンコード後の文字列の末尾にイコール記号があるのはなぜですか$2
イコール記号 = はパディング文字で、エンコード後の文字列の長さを4の倍数に揃えるために使用されます。Base64URL 形式では、これらのパディング文字が削除されます。
Base64 と Base64URL のどちらを選択すればよいですか$3
エンコード結果を URL、ファイル名、JWT などのシーンで使用する場合は Base64URL を使用します。それ以外の場合は標準 Base64 を使用します。
デコード後に文字化けが発生するのはなぜですか$4
元のデータが UTF-8 エンコードのテキストではない、または Base64 文字列が切り詰められたり変更されたりした可能性があります。完全で正確な Base64 文字列を入力してください。
どのくらいの大きさのファイルをエンコードできますか$5
ブラウザが処理できるファイルサイズは利用可能なメモリに依存します。10MB以下を推奨します。非常に大きなファイルについては、専用のファイル転送ツールの使用を推奨します。



