使い方
- 「エンコード」か「デコード」を選びます。
- エンコードする場合は、テキストを入力するか、「ファイル」に切り替えて画像、PDF、フォントなど任意のファイルを選びます。
- URL セーフな文字、パディング、data URL での出力などのオプションを選びます。
- 結果をコピーします。画像などのバイナリデータをデコードした場合は、ファイルとしてダウンロードします。
オプションの説明
- URL セーフ
- + と / を - と _ に置き換えるため(RFC 4648 §5)、結果を URL やファイル名に使えます。JWT はパディングなしのこの形式を使います。
- パディング
- 末尾に = を付けて、長さを 4 の倍数にします。必要とするシステムもあれば、JWT のように省略するものもあります。デコーダーはどちらも受け付けます。
- 76 文字ごとに改行
- 出力を 76 文字ごとの行に分割します。メール(MIME)や PEM ファイルで必要な形式です。
- data URL
- data:image/png;base64,… の形式で出力し、HTML や CSS の画像ソースとしてそのまま貼り付けられます。
例
| 入力 | Base64 |
|---|---|
hello |
aGVsbG8= |
hello(URL セーフ、パディングなし) |
aGVsbG8 |
日本語 |
5pel5pys6Kqe |
バイト列 FB FF BF |
+/+/(標準)または -_-_(URL セーフ) |
JWT のペイロードをデコードする
JWT はドットで区切られた 3 つの部分からなります。真ん中の部分はパディングなしの URL セーフな Base64 なので、「デコード」に貼り付けるとクレームを読めます。ただし、ここでは署名を検証しないため、デコードできたからといってトークンを信用しないでください。
よくある質問
Base64 は暗号化ですか?
いいえ。Base64 は誰でも元に戻せるエンコード方式で、バイト列を 64 種類の印字可能な文字で表しているだけです。パスワードや秘密情報を隠す目的には絶対に使わないでください。
Base64 の文字列が元より長くなるのはなぜですか?
3 バイトごとに 4 文字になるため、Base64 は約 33% 大きくなります。改行を有効にした場合は、さらに改行の分が加わります。
デコードすると文字化けしたり、バイナリデータに関するエラーが出たりするのはなぜですか?
その Base64 に UTF-8 テキストではないバイト列が含まれているためです。多くの場合、画像、zip、暗号化されたデータです。「デコードしたファイルをダウンロード」を使ってください。一般的な画像形式は自動で判別され、それに合ったファイル名が付きます。
CSS や HTML に画像を埋め込むには?
「ファイル」に切り替えて「data URL として出力」にチェックを入れ、画像を選んで、結果を src="…" や url(…) に貼り付けます。小さなアイコンに最適で、大きな画像はページの表示が遅くなります。
日本語や絵文字など、英語以外のテキストにも対応していますか?
はい。テキストはエンコード前に UTF-8 のバイト列に変換されます。btoa(unescape(encodeURIComponent(…))) や Python の base64.b64encode(s.encode()) と同じ結果になります。
プライバシー
このツールはすべてブラウザ内で動作します。ファイルやテキストはお使いの端末上で処理され、当サイトのサーバーにアップロードされることはありません。