使い方
- テキストまたはBase64欄に、テキストを貼り付けます。
- 操作でテキストをBase64にエンコードかBase64をテキストにデコードを選びます。
- 符号をWebアドレスやファイル名に使う場合は、URL安全な文字集合にチェックを入れます。
- 結果の枠のコピーボタンを使うか、テキストファイルとしてダウンロードします。
Base64の仕組み
Base64は、ほとんどのシステムで安全に使える64文字だけで、バイトをテキストとして書き表します。24ビット、つまり3バイトごとに、6ビットずつの4文字になります。最後の組に1バイトか2バイトしかないときは、符号の末尾に1個か2個の=記号が付きます。これを詰め物(パディング)といいます。
3バイトが4文字になるので、結果は入力よりいつもおよそ3分の1長くなります。
Padded length = 4 × ⌈n ÷ 3⌉ characters
n number of bytes in the input
⌈ ⌉ round up to a whole number
テキスト、UTF-8と二つの文字集合
Base64はバイトを扱うので、テキストは最初にUTF-8で書かれます。UTF-8は、Webページやほとんどのファイルが使う符号化方式です。日本語の文字は1字が3バイト、絵文字は4バイトになります。
- 標準の文字集合(RFC 4648の第4節):AからZ、aからz、0から9、+と/。末尾に=の詰め物が付きます。
- URLとファイル名に安全な文字集合(RFC 4648の第5節):+と/の代わりに-と_を使います。この形式では詰め物を省きます。
- 復号では、どちらの文字集合も、詰め物のない符号も、改行も受け付けます。
復号で拒否するもの
- どちらの文字集合にもない文字。たとえば「!」や「%」です。
- どのBase64の符号にもありえない長さ。たとえば4文字の組の後に5文字がある場合です。
- UTF-8でないバイト列。画像のBase64は、テキストではないバイト列にデコードされるので、ページは乱れた文字を表示せず、その旨を伝えます。
Base64は暗号ではありません
Base64はバイトをテキストとして書き表す方法で、秘密ではありません。誰でも復号できるので、パスワードや鍵を隠すために使わないでください。テキストの変換はこのブラウザの中だけで行われ、当社に送信されません。
計算例:こんにちは、Tokyo
テキストは11文字ですが、日本語の文字はUTF-8で1字3バイトなので、テキストは23バイトになります。詰め物を含めた長さは4 × ⌈23 ÷ 3⌉ = 32文字です。
標準の文字集合では、結果は44GT44KT44Gr44Gh44Gv44CBVG9reW8=です。URL安全な形式にチェックを入れると、同じ符号から詰め物が省かれ、44GT44KT44Gr44Gh44Gv44CBVG9reW8(31文字)になります。
| 項目 | 標準 | URL安全 |
|---|---|---|
| 結果 | 44GT44KT44Gr44Gh44Gv44CBVG9reW8= | 44GT44KT44Gr44Gh44Gv44CBVG9reW8 |
| 長さ | 32 | 31 |
よくある質問
Base64は何に使われますか?
画像、ファイル、トークンなどの2進データを、メールの添付、JSONの項目、データURLのように、テキストしか受け付けない仕組みで運ぶために使われます。符号は元のデータよりおよそ3分の1長くなります。
Base64は暗号と同じですか?
いいえ。Base64はバイトを可逆的に書き表す方法で、鍵がなくても誰でも復号できます。データを守るには、Base64ではなく本物の暗号を使ってください。
復号したテキストに奇妙な文字が出るのはなぜですか?
たいていは、バイトがUTF-8ではないからです。テキストが、Shift_JISやトルコ語用のWindows-1254などの古い符号化方式で保存されていた可能性があります。このページは、UTF-8でないバイト列を誤って表示する代わりに拒否します。
URL安全な文字集合とは何ですか?
RFC 4648の第5節は+を-に、/を_に置き換えるので、符号をWebアドレスやファイル名に、エスケープせずに入れられます。このページでは、=の詰め物を省いて書きます。
ツールは入力したテキストをサーバーに送りますか?
送りません。符号化と復号はブラウザが行います。何も送信も保存も記録もされないので、非公開のデータを貼り付けても構いません。
Base64の画像をここで復号できますか?
このページはBase64をテキストとして読むので、画像は、テキストではないバイト列にデコードされ、拒否されます。画像を見るには、data:imageで始まり画像の種類を含む完全なデータURLを、ブラウザのアドレス欄に入力します。
出典
- RFC 4648(英語):The Base16, Base32, and Base64 Data Encodings(IETF)
- RFC 3629(英語):UTF-8, a transformation format of ISO 10646(IETF)
数値と文章の最終確認日:2026年11月10日火曜日。