ホーム› 変換くん› BASE64とは?仕組みとよく使われる場面、暗号ではない理由をやさしく解説
変換くん

BASE64とは?仕組みとよく使われる場面、暗号ではない理由をやさしく解説

2026年10月29日 2026年11月13日 更新 Benri-Kit編集部
BASE64とは?仕組みとよく使われる場面、暗号ではない理由をやさしく解説

メールのソースやWebページの中身を見ていて、意味の分からない英数字の長い列に出会ったことはありませんか。AからZや数字がずらっと並んでいます。ときどき + や / が混ざっていて、最後に = が付いていることもあります。

壊れているわけではありません。それはたぶんBASE64です。

この記事では、BASE64がどんなもので、なぜあちこちで使われているのかをお話しします。読み終わるころには、見かけたときに「ああ、あれか」と分かるようになります。自分で変換して、中身を確かめることもできますよ。

BASE64は、データを文字だけで書き直す方法です

コンピューターの中のデータは、画像も音声も文章も、すべて数字の並びです。ところが世の中には、文字しか通さない仕組みがまだ残っています。昔からあるメールの仕組みが、その代表です。

そこで考えられたのがBASE64です。どんなデータでも、決まった64種類の文字だけで書き表せるようにしました。使う文字は次のとおりです。

  • 英大文字のAからZ
  • 英小文字のaからz
  • 数字の0から9
  • 記号の + と /

合わせて64種類です。名前の「64」はここから来ています。長さを揃えるために、最後に = が付くこともあります。

どれも、ほとんどの環境で崩れずに扱える文字ばかりです。だから、文字しか通らない道でも、データを安全に運べるわけです。

実際にどう変わるのか見てみましょう

たとえば「こんにちは」をBASE64にすると、こうなります。

こんにちは
44GT44KT44Gr44Gh44Gv

5文字が、20文字の英数字になりました。中で何が起きているのか、ざっくり説明しますね。

「こんにちは」は、コンピューターの中では数字の並びとして保存されています。この数字のひとつひとつをバイトと呼びます。いまよく使われるUTF-8という文字の決まりでは、ひらがな1文字は3バイトです。5文字なので15バイトになります。

BASE64は、この並びを3バイトずつ区切ります。そして3バイトを4つの文字に置き換えます。15バイトは3バイトが5組です。4文字が5組で、20文字になるという仕組みです。

3バイトが4文字になるので、BASE64にするとデータの量はおよそ3分の4倍に増えます。便利な反面、少しかさばるわけです。これは覚えておくと、あとで役に立ちます。

どんなときに使われているの?

BASE64は、目立たないところで毎日のように使われています。よく出会う場面をいくつか紹介します。

メールの添付ファイル

メールは、もともと文字を送るための仕組みです。写真やPDFを添付すると、送るときに中身がBASE64などで文字の形に書き直されます。受け取った側のメールソフトが元に戻してくれるので、ふだんは気づきません。

メールのソースを表示すると、長い英数字の塊が見えることがあります。あれがそうです。

Webページに画像を直接書き込むとき

HTMLやCSSの中で、data:image/png;base64, で始まる長い文字列を見たことはありませんか。これは画像ファイルをBASE64にして、ページの中に直接書き込んだものです。小さなアイコンなどを別のファイルにせず、ひとまとめにしたいときに使われます。

JSONなど、文字のデータにファイルを入れるとき

プログラム同士がやりとりするデータは、JSONのような文字の形式であることが多いです。そこに画像などを入れたいときも、BASE64にして文字として埋め込む方法がよく使われます。

ログイン情報を送る仕組みの一部

Webには、ベーシック認証と呼ばれるログインのやり方があります。ここでは、ユーザー名とパスワードをBASE64にして送ります。実はここに大事な注意点があるので、次で詳しくお話しします。

気をつけたいのは、暗号ではないということ

BASE64の文字列は、ぱっと見では何が書いてあるか分かりません。だから、なんとなく暗号のように感じてしまいます。でも、BASE64は暗号ではありません。

変換の決まりは公開されていて、誰でも知っています。鍵も合言葉も要りません。BASE64の文字列を手に入れた人は、誰でもすぐに元に戻せます。

つまり、パスワードや個人情報をBASE64にしても、隠したことにはなりません。ベーシック認証も、URLが https で始まる暗号化された接続と組み合わせて使うのが前提です。大切な情報を守りたいときは、BASE64とは別に、ちゃんとした暗号化を使ってください。

逆に言えば、正体の分からないBASE64を見つけたら、元に戻して中身を確かめられます。BASE64を元のデータに戻すことをデコードと呼びます。反対に、データをBASE64にすることはエンコードと呼びます。この2つの言葉だけ覚えておけば、ツールを使うときに迷いません。

変換するときに知っておきたいこと

日本語は文字コードで結果が変わる

日本語をBASE64にするときは、文字の決まりが関わってきます。この決まりを文字コードと呼びます。さきほどの例は、UTF-8で計算したものです。古いシステムでは、Shift_JISなど別の文字コードが使われていることもあります。

同じ「こんにちは」でも、文字コードが違えば中の数字が変わります。当然、BASE64の結果も変わります。エンコードしたときとデコードするときで文字コードが食い違うと、戻したはずの文字が化けてしまいます。

デコードして文字化けしても、BASE64が壊れているとは限りません。まずは文字コードの違いを疑ってみてください。

記号が違う種類もある

BASE64には、+ と / の代わりに - と _ を使う種類もあります。URLの中では + や / が特別な意味を持ってしまうためです。見慣れない記号が混ざっていても、慌てなくて大丈夫です。

自分で変換して確かめてみましょう

変換くんの「BASE64」の画面(BASE64にエンコード)

仕組みが分かったら、一度自分の手で試してみるのがいちばんです。benri-kit.comのBASE64のタブを開けば、その場ですぐに試せます。

やり方はかんたんです。

  1. ツールのページで、BASE64のタブが開いていることを確かめます。
  2. 入力欄に、変換したい文字を入れます。最初は「こんにちは」がおすすめです。
  3. エンコードして、BASE64の文字列が出てくるのを見てみます。
  4. 出てきた文字列をデコードして、元の文字に戻ることも確かめます。

UTF-8で変換した場合、「こんにちは」は 44GT44KT44Gr44Gh44Gv になります。この記事と同じ結果が出れば、仕組みをちゃんとつかめています。

このツールは、入力した内容をサーバーへ送りません。変換はすべて、あなたのブラウザの中で行われます。仕事のメールに入っていた文字列や、設定ファイルの一部など、外に出したくないものでも安心して中身を確かめられます。

まとめ

BASE64は、どんなデータでも64種類の文字だけで書き直す方法です。メールの添付ファイルやWebページの画像など、文字しか通らない場所でデータを運ぶために使われています。

覚えておきたいのは、次の3つです。

  • データの量はおよそ3分の4倍に増える
  • 暗号ではないので、誰でも元に戻せる
  • 日本語は、文字コードが違うと文字化けする

次に謎の英数字の列を見かけたら、ぜひデコードしてみてください。思わぬ中身が出てくるかもしれませんよ。