Base64 エンコード / デコード
テキストとBase64を相互に変換します。日本語もUTF-8として正しく扱い、URLセーフ形式も選べます。
出力
上に貼り付けるか入力すると、ここに結果が表示されます。
ファイルは端末の外に出ません
このツールはすべてブラウザ内で動作します。貼り付けた内容は端末内で処理され、サーバーには送信されないため、トークンや鍵、未公開の文章でも安心して使えます。
使い方
- テキストをBase64にしたい場合は「エンコード」、Base64をテキストに戻したい場合は「デコード」を選びます。
- 入力欄に貼り付けます。デコードでは + と / を使う標準形式と、- と _ を使うURLセーフ形式の両方を受け付け、パディング(=)が欠けていても処理できます。
- 結果をURLやJWT、ファイル名に使う場合は「URLセーフ形式」をオンにすると、パーセントエンコードが不要な文字だけで出力されます。
- 「変換」を押して結果をコピーします。日本語や絵文字はUTF-8のバイト列としてエンコードされるため、btoa()をそのまま使ったツールで起きがちな文字化けやエラーがありません。
よくある質問
- Base64は暗号化ですか?
- いいえ。Base64はバイト列を64種類の印字可能な文字で表現する可逆的なエンコードで、誰でも即座にデコードできます。データの転送や埋め込みには使えますが、秘密を隠す用途には使えません。
- 日本語や絵文字はどのように扱われますか?
- エンコード前にテキストをUTF-8のバイト列に変換し、デコード結果もUTF-8として解釈します。これは多くのプログラミング言語やHTTPライブラリと同じ挙動です。JavaScriptのbtoa()はLatin-1しか受け付けないため、単純な実装では日本語でエラーになりますが、このツールでは問題ありません。
- 標準形式とURLセーフ形式の違いは何ですか?
- 標準のBase64(RFC 4648 第4節)は + と / を使い、末尾を = で埋めます。URLセーフ形式(第5節)はこれらを - と _ に置き換え、通常はパディングも省略するため、エスケープなしでURL・Cookie・JWTに使えます。このツールのデコードはどちらの形式も受け付けます。
- エンコード後の文字列が元より3割ほど長くなるのはなぜですか?
- Base64は3バイトを4文字で表すため、出力は入力の約4/3の長さになり、さらに最大2文字のパディングが付きます。これは印字可能な文字だけで表現するための代償です。
- 入力したデータはサーバーに送信されますか?
- いいえ。エンコードもデコードもすべてブラウザ内で実行されます。APIキーや接続文字列、個人的なテキストを変換しても端末の外には出ません。