100% ローカル — データがブラウザの外に出ることはありません

テキストをBase64に変換|ヘッダーにも本文にも安全に載ります

テキストをBase64に符号化します。URLで使える変種も選べます。先にUTF-8のバイト列にするので、アクセント付きの文字も絵文字も、届いた先で欠けることがありません。

高速 プライベート Cookieゼロ

Text 入力

Base64 出力

このツールの動作

テキストを UTF-8 のバイト列に変換し、そのバイト列を Base64 に符号化します。この2段階の順序が重要です。Base64 が符号化するのはバイトであって文字ではなく、出力を決めるのはバイト数だからです。

café が Y2Fmw6k= になるのはそのためです。4ではなく5バイトで、アクセント付きの文字が2バイトを占めます。

URLで使える変種

標準の Base64 は + と / を使いますが、どちらも URL の中では固有の意味を持ちます。URL 用のアルファベットはこれらを - と _ に置き換え、クエリ文字列で同様に扱いにくい = の埋め文字も省きます。

そのため a は通常なら YQ==、この変種では YQ になります。このアルファベットを解する復号器は埋め文字なしの形も受け付けます。RFC 4648 が意図しているのはまさにそれです。

Base64ではないもの

Base64 は暗号化ではありません。 鍵はなく、秘密も存在せず、このツールを含むどんな道具でも1手順で復号できます。テキストしか通さない経路にバイトを載せるための手段です。データ URI、メールの添付、JSON の欄などがそれにあたります。

パスワードやトークンを Base64 に置いても、何も守られません。ログを流し読みする人にとって少し分かりにくくなるだけで、それは安全性ではありません。

サイズ

出力は埋め文字を含めて入力のおよそ3分の1増になります。3 KB のファイルは 4 KB 程度の Base64 になります。画像をスタイルシートやデータ URI に埋め込む前に知っておくとよい数字です。

プライバシー

すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。

よくある質問

Base64は暗号化ですか。
いいえ。そう思い込むのは、よくある、そして高くつく誤解です。Base64 は鍵も秘密も持たない転送用の符号化で、誰でも1手順で復号できます。何も隠しません。バイナリデータをテキストの欄に載せられるようにするだけです。
URL用の出力に等号がないのはなぜですか。
RFC 4648 が URL 用のアルファベットでは埋め文字を任意としているためです。裸の `=` はクエリ文字列の中でそれ自体が厄介でもあります。この形式を受け付ける復号器は、埋め文字なしの形も受け付けます。
4文字の単語が8文字になるのはなぜですか。
2つの効果が重なります。まずテキストが UTF-8 のバイト列になるため、アクセント付きの文字は1バイトではなく2バイトを占めます。次に Base64 が3バイトごとに4文字へ変換します。バイト数のおよそ3分の1増を見込んでください。

関連ツール