N Nouplo

Base64 エンコード / デコード

テキストとBase64を相互に変換します。日本語もUTF-8として正しく扱い、URLセーフ形式も選べます。

出力
上に貼り付けるか入力すると、ここに結果が表示されます。

ファイルは端末の外に出ません

このツールはすべてブラウザ内で動作します。貼り付けた内容は端末内で処理され、サーバーには送信されないため、トークンや鍵、未公開の文章でも安心して使えます。

使い方

  1. テキストをBase64にしたい場合は「エンコード」、Base64をテキストに戻したい場合は「デコード」を選びます。
  2. 入力欄に貼り付けます。デコードでは + と / を使う標準形式と、- と _ を使うURLセーフ形式の両方を受け付け、パディング(=)が欠けていても処理できます。
  3. 結果をURLやJWT、ファイル名に使う場合は「URLセーフ形式」をオンにすると、パーセントエンコードが不要な文字だけで出力されます。
  4. 「変換」を押して結果をコピーします。日本語や絵文字は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キーや接続文字列、個人的なテキストを変換しても端末の外には出ません。

関連ツール