URLデコード
パーセントエンコードされたURLやクエリ文字列を、読みやすいテキストに戻します。不正なシーケンスはクラッシュせず、位置を特定して表示します。
ブラウザー内でローカルに処理されます。テキストはアップロードされません。
このツールでできること
https%3A%2F%2Fexample.com%2Fcaf%C3%A9%20menu のような文字列を、読めるテキストに戻します。リダイレクトURL、アクセス解析のパラメーター、OAuthのコールバック、ログファイル、Webhookのペイロードをデバッグするときに役立ちます。
実際のデータは、コピー&ペーストで途中が切れていたり、エンコードされていない % が含まれていたり、UTF-8として無効なバイトが含まれていたりと、壊れていることがよくあります。デコーダーはエラーを黙って無視せず、最初の不正なシーケンスの位置を示します。そのうえで、有効なシーケンスはすべてデコードし、壊れたものはそのまま残したベストエフォートの結果も表示します。
コンポーネントモード(すべてをデコード)か、URL全体モード(%2F や %3F などの予約文字のエスケープを残し、URLの構造を変えない)を選べます。フォームエンコードされたデータ向けに、+ をスペースとして扱うこともできます。デコードはブラウザー内でローカルに行われます。
使い方
- 1エンコードされたテキストまたはURLを入力欄に貼り付けます。
- 2すべてをデコードするなら「コンポーネント」を、%2F などの予約文字をエンコードされたままにするなら「URL全体」を選びます。
- 3データがHTMLフォームやクエリ文字列から取得したものである場合は、「+ をスペースとして扱う」をオンにします。
- 4エラーが表示されたら、示されている位置を確認します。デコードされたテキストをコピーするか、ダウンロードします。
対応形式
入力はパーセントエンコードされたテキスト(UTF-8のバイト列)、出力はプレーンテキストです。
プライバシー
このツールはブラウザー上で動作します。入力されたデータはお使いのデバイス上で処理され、当社のサーバーには送信されません。
制限事項
- パーセントシーケンスはUTF-8のバイトである必要があります。Latin-1(é を表す %E9 など)のような従来のエンコーディングは、無効なUTF-8として報告されます。
- 文字どおりの + は、オプションを有効にした場合にのみスペースに変換されます。URLのパスでは + はプラスを意味するためです。
- 2回デコードすると意味が変わることがあります(%2520 は %20 になり、さらにスペースになります)。二重にエンコードされているデータだと分かっている場合を除き、デコードは1回にしてください。
- 報告されるのは最初の不正なシーケンスのみですが、ベストエフォートの出力では、すべての不正なシーケンスが変更されずに残されます。
よくある質問
「不正なパーセントシーケンス」とは何ですか?
% の後には、ちょうど2桁の16進数が必要です。「50% off」のようなテキストや、途中で切れた文字列(…%2)は、このルールに反します。デコーダーはその位置を示し、ベストエフォートの結果ではそれらの文字をそのまま残します。
URL全体モードで %2F がデコードされないのはなぜですか?
デコードすると、値の中のパス区切り文字が本物の区切りに変わってしまい、URLの意味が変わるためです。コンポーネントモードではデコードされます。
無効なUTF-8とは何ですか?
有効な文字を構成しないパーセントエンコードされたバイトのことで、たとえば単独の %FF や、不完全なマルチバイトシーケンスなどです。多くは、従来のエンコーディングや途中で切れたデータが原因です。
関連ツール
URLエンコード
URLやクエリ文字列で安全に使えるよう、テキストをパーセントエンコードします。コンポーネント単位とURL全体のモードに対応。ブラウザー内で動作します。
Base64デコード
Base64とURLセーフなBase64をテキストにデコードします。UTF-8に対応し、無効な文字、長さ、パディングのエラーも分かりやすく表示します。
JSON整形ツール
JSONを整形・見やすく変換し、キーの並べ替えも可能。構文ハイライト付きで、エラーは行と列で特定します。ブラウザー内でローカルに動作します。
JSON検証ツール
JSONが有効かどうかをチェックし、最初のエラーの行と列を、問題の文字の下にキャレットを付けて表示します。