Base64エンコード/デコードとは?ブラウザ完結・日本語対応の変換ツールの使い方
公開日:2026年7月15日 対象ツール:Base64 エンコード/デコード
Base64とは何か
Base64は、あらゆるデータを64種類の文字だけで表現する変換方式です。使う文字は「A〜Z」「a〜z」「0〜9」の62種類に「+」「/」を足した64個で、これに長さ調整用の詰め物「=」が加わります。画像や音声のようなバイナリデータは、そのままでは文字だけを想定した通信路を通ると壊れてしまうことがあります。そこで、いったん壊れにくい64種の文字へ置き換えて運び、受け取った側で元へ戻す——これがBase64の役割です。
どこで使われているか
ふだん意識しないだけで、身近な多くの場面で裏方として動いています。
- メールの添付ファイル(MIME):画像やPDFはBase64で本文に埋め込まれて送られます。
- データURI:HTMLやCSSに小さな画像を直接書き込む「data:image/png;base64,…」の形式で使われます。
- Basic認証:ユーザー名とパスワードをコロンでつなぎ、Base64化して通信ヘッダに載せます。
- JWT(トークン):ログイン状態などを表すトークンの各パートが、Base64(後述のURLセーフ版)で表されています。
なぜ約1.33倍になるのか
Base64は、元データを8ビット単位ではなく6ビット単位に区切り直します。6ビットで表せる値は0〜63なので、ちょうど64種の文字と1対1で対応します。結果として元の3バイト(24ビット)が4文字(同じく24ビット分)に変換され、出力は元データの4/3、約1.33倍に増えます。元データが3の倍数で割り切れないときは、末尾を「=」で埋めて4文字単位に長さをそろえます。これがよく見かける末尾の「=」の正体で、パディング(詰め物)と呼ばれます。「Hello」(5バイト)が「SGVsbG8=」と=1つで終わるのはこのためです。
URLセーフBase64とは
標準のBase64が使う「+」「/」は、URLやファイル名の中では特別な意味を持つため、そのまま置くと誤作動の原因になります。そこで「+」を「-」に、「/」を「_」に置き換えたURLセーフBase64という変種があります。JWTなどはこの形式を使います。なお本ツールは標準形式(+・/)を扱うため、URLセーフ形式(-・_を含む文字列)はそのままではデコードできない点にご注意ください。
日本語(UTF-8)の扱い
Base64はバイト列を変換する仕組みなので、日本語のような文字はまず「バイト列にする」段階が必要です。本ツールは内部で文字をUTF-8のバイト列へ直してから変換します。たとえば「あ」はUTF-8で3バイトなので、エンコードすると44GCになり、デコードすれば元の「あ」へ正確に戻ります。文字コードの取り決めが送り手と受け手で食い違うと文字化けするため、UTF-8で往復させる点が大切です。
暗号化ではありません(最重要)
もっとも誤解されやすい点です。Base64は暗号化ではありません。鍵もパスワードも使わず、変換規則さえ知っていれば誰でも一瞬で元へ戻せます。中身を隠す効果はまったくないため、パスワードや個人情報を「Base64にしたから安全」と考えるのは危険です。秘匿が必要なデータは、Base64ではなく暗号化やHTTPSなど別の手段で守ってください。Base64はあくまで「安全に運ぶための詰め替え」であり、「鍵をかける」ものではない、と覚えておきましょう。
よくある失敗
- 全角文字の混入:全角スペースや全角の英数字はBase64の文字として使えず、デコードに失敗します。
- URLセーフ形式をそのまま入力:「-」「_」を含む文字列は標準Base64では扱えず、エラーになります。
- 「=」の欠落や過不足:末尾のパディングが崩れていると、正しく元へ戻せないことがあります。
このツールでの変換方法
上部のトグルで「エンコード」か「デコード」の向きを選び、入力欄に文字またはBase64を貼り付けるだけです。入力と同時に結果が下の欄へ自動表示され、「結果をコピー」でコピーできます。デコード時は空白や改行を自動で取り除くため、折り返されたBase64もそのまま貼り付け可能です。不正な文字が含まれる場合はその場でエラーを案内します。処理はすべてブラウザ内で完結し、入力がサーバーへ送られることはありません。