Base64 エンコード・デコードとは?
Base64は、画像やファイルなどのバイナリデータをA–Z、a–z、0–9、+、/の64種類の文字だけで表すエンコード方式です。メールの添付ファイル、HTMLやCSSに画像を直接埋め込むData URL、JWTトークン、APIの認証ヘッダーなど幅広く使われています。
このツールは日本語をUTF-8として変換するため、各種プログラミング言語の結果と同じになります。ファイルの変換もブラウザ内だけで行われ、サーバーにはアップロードされません。
使い方
- テキストタブでエンコードかデコードを選び、入力欄に入力するとすぐに結果が表示されます。
- URLやファイル名に使う値ならURL-safeをオンにします。+と/が-と_に変わり、末尾の=が省略されます。
- デコード結果が画像やファイルの場合は、プレビューとファイルに保存ボタンが表示されます。
- ファイル・画像タブでは、ファイルをData URL・CSS・imgタグに変換したり、Base64文字列をファイルに戻したりできます。
Base64は暗号化ではありません
Base64は誰でもすぐに元に戻せる表記方法にすぎず、内容を隠す暗号化ではありません。パスワードや個人情報をBase64にしただけで保存・送信するのは安全ではありません。内容を守るにはAESなどの暗号化を、改ざん検知にはSHA-256などのハッシュを使いましょう。
サイズと形式の違い
| 項目 | 説明 |
|---|---|
| サイズ | 元の3バイトが4文字になるため、約33%大きくなります |
| パディング(=) | 長さを4の倍数にするため末尾に0〜2個付きます |
| URL-safe | + → -、/ → _ に置き換え、通常 = を省略します(JWT、RFC 4648 §5) |
| Data URL | data:image/png;base64,… の形でHTML・CSSに直接書けます |
日本語の文字はUTF-8で1文字3バイトなので、Base64では4文字になります。たとえば「日本語」は 5pel5pys6Kqe です。
よくある質問
デコードすると日本語が文字化けします。
元のデータがUTF-8ではなくShift_JISやEUC-JPでエンコードされている可能性があります。このツールはUTF-8として解釈し、UTF-8として読めないデータはバイナリと判断してファイル保存を案内します。
画像をBase64で埋め込むのは良い方法ですか?
アイコンのような小さな画像(数KB)ならリクエスト数を減らせて有利なこともありますが、大きな画像はサイズが33%増え、キャッシュも効きにくいため逆に遅くなります。目安は10KB以下です。
改行や空白が混じったBase64もデコードできますか?
はい。空白と改行は自動で無視し、URL-safeの文字(-、_)や省略されたパディング(=)も自動で処理します。
ファイルサイズの制限はありますか?
ブラウザのメモリ内で処理するため、ファイル→Base64の変換は50MBまで対応しています。