DevTools Japan トップへ

Base64 エンコード・デコード

テキストとBase64文字列を相互変換

入力(テキスト)0 B
出力(Base64)0 B

Base64変換ツールの使い方

テキストや画像をBase64形式にエンコード・デコードする無料ツールです。メール添付のエンコード、データURIスキームでの画像埋め込み、APIでのバイナリデータ送受信など、さまざまな開発場面で活用できます。

Base64が使われる場面

Base64は、バイナリデータをテキスト形式(ASCII文字のみ)で表現するためのエンコード方式です。HTMLやCSSに小さな画像を直接埋め込む「データURI」、メールの添付ファイル(MIME)、JWTトークンのペイロード部分など、テキストベースのプロトコルでバイナリデータを扱う必要がある場面で広く使われています。

注意点

Base64エンコードするとデータサイズが約33%増加します。大きなファイルのエンコードには適していません。すべてブラウザ内で処理され、データがサーバーに送信されることはありません。

Base64とは

Base64は、画像や音声などのバイナリデータを、64種類の英数字・記号(A〜Z、a〜z、0〜9、および「+」「/」の計64文字)だけで表現するエンコード方式です。テキストしか安全に扱えない仕組みの中で、バイナリデータを文字列として運ぶために考案されました。末尾の長さ調整にはパディング記号「=」が使われます。

主な用途は3つあります。1つ目は、HTMLやCSSに小さな画像を直接書き込む「データURI(Data URI)」での埋め込みです。data:image/png;base64, のようなプレフィックスにBase64文字列を続けることで、外部ファイルなしで画像を表示できます。2つ目は、電子メールの添付ファイル(MIME)のように、テキストベースのプロトコルでバイナリを送る場面です。3つ目は、APIやJWTのように、データを一旦テキスト化して受け渡しする用途です。

注意したいのは、Base64は「暗号化」ではない点です。変換ルールは完全に公開されており、鍵を必要とせず誰でもデコードして元のデータに戻せます。そのため機密情報の保護には使えません。また、3バイトを4文字に変換する仕組み上、エンコード後のサイズは元データより約33%大きくなります。テキスト化のための変換であり、データの圧縮にはならない点も覚えておくとよいでしょう。

Base64変換例(UTF-8基準)

代表的な文字列をBase64にエンコードした例です。値はUTF-8でバイト列に変換してから符号化したもので、このツールの変換結果と一致します。

元の文字列バイト数Base64(エンコード結果)
A1QQ==
AB2QUI=
ABC3QUJD
Man3TWFu
Hello5SGVsbG8=
Base646QmFzZTY0
344GC
こんにちは1544GT44KT44Gr44Gh44Gv

「=」の数に注目すると、元データのバイト数が3の倍数のとき(ABC、Man、こんにちは)はパディングが付かず、余りが1バイトなら「==」、2バイトなら「=」が付きます。日本語1文字「あ」はUTF-8で3バイトのため、ちょうど4文字「44GC」になります。

よくある質問

Base64とは何ですか?
Base64は、バイナリデータをA〜Z、a〜z、0〜9、「+」、「/」の64種類の文字だけで表現するエンコード方式です。テキストしか扱えない仕組みの中でバイナリデータを安全に運ぶために使われます。
Base64は暗号化ですか?
いいえ、暗号化ではありません。Base64は変換ルールが公開された単なるエンコードで、鍵を必要とせず誰でもデコードして元のデータに戻せます。機密情報の保護には使えません。
画像をBase64に変換してData URIを作れますか?
このツールはテキスト文字列のエンコード・デコードに対応しています。画像のData URIを作る場合は、画像のBase64文字列を別途取得し、先頭に data:image/png;base64, のようなプレフィックスを付けて利用します。
変換するデータはサーバーに送信されますか?
いいえ。エンコード・デコードはすべてブラウザ内のJavaScriptで処理され、入力したテキストが外部のサーバーへ送信されることはありません。無料・登録不要で利用できます。
Base64でデータサイズが増えるのはなぜですか?
Base64は3バイトのデータを4文字に変換するため、エンコード後はおよそ4対3、つまり約33パーセント大きくなります。3バイトが4文字になる比率がそのままサイズ増加の理由です。

関連ツール

URLエンコード・デコードツール HTML特殊文字変換ツール ハッシュ生成ツール
コピーしました