Text to Base64URL コンバーター
RFC 4648のセクション5に定められたbase64urlアルファベットに従い、URLセーフなBase64にテキストをエンコードしたり、元にデコードしたりできます。入力をUTF-8に変換し、+と/の代わりに-と_を使います。指定がなければ=によるパディングは省略し、デコード時にはパディングあり、なしの両方を受け付けます。JWTの部分、OAuthのPKCE値、署名付きURL、リンク内でも使えるファイル名の処理に便利です。
よくある質問
Base64URLとは何ですか?
Base64URLは、RFC 4648のセクション5で定義されているURLで、ファイル名にも安全に使えるBase64の派生形式です。+を-に、/を_に置き換えるため、エスケープせずにURLやファイル名に含められます。通常、=によるパディングは省略されます。
例を確認できますか?
テキスト foobar は Zm9vYmFy にエンコードされ、標準のBase64と同じ結果になります。テキスト ??> は Pz8- にエンコードされますが、標準のBase64では Pz8+ になります。また、subjects?_d は c3ViamVjdHM_X2Q にエンコードされます。デコードすると元のテキストに戻ります。
パディングを有効にすべきですか?
JWT、PKCEコードチャレンジ、およびほとんどのウェブ用途では、=を省略するため無効のままにしてください。有効にするのは、受信側のシステムが4の倍数の長さを想定している場合だけです。デコーダーはどちらの形式も受け付けます。
このツールでJWTをデコードするには?
ヘッダーまたはペイロード部分、つまりドットの間にあるテキストをコピーしてデコードします。するとJSONが得られます。3番目の部分はバイナリ署名なので、有効なUTF-8テキストではないことがツールに表示されます。
入力が拒否されるのはなぜですか?
有効なのは、AからZ、aからz、0から9、-、_と、末尾に任意で付ける=のみです。標準のBase64で使われる+と/は拒否されるため、これらを使う場合はBase64コンバーターを使用してください。最後のグループに文字が1つだけ残る長さも無効です。
空白は無視されますか?
はい。デコード前にスペース、タブ、改行が削除されるため、折り返されたログやメールからコピーした値も扱いやすくなります。
特殊文字や絵文字はどのように処理されますか?
変換前にテキストをUTF-8としてエンコードするため、絵文字を含むすべての文字が元のまま往復変換されます。デコードしたバイト列を表示するには、有効なUTF-8である必要があります。
Base64URLは機密データに安全ですか?
いいえ。これはエンコードにすぎず、保護機能はありません。たとえば、JWTのペイロードは誰でも読めるため、秘密情報を含めてはいけません。
サイズはどれくらい増えますか?
3バイトは4文字になるため、エンコード後のデータは約33パーセント大きくなります。パディングなしの場合、出力は最大2文字短くなります。
どれくらいの量のテキストを変換できますか?
1回のリクエストで最大5 MiBのテキストを処理できます。入力は保存されません。