URLデコーダー
パーセントエンコードされたURLとURIコンポーネントを人間が読めるテキストに戻します。RFC 3986に従った%XXシーケンスとHTMLフォーム送信からの+-エンコードされたスペースを処理します。
サーバーアクセスログ、リダイレクトチェーン、APIエラーメッセージには、瞬時に読み取ることができないパーセントエンコードされたURLが含まれています。https://example.com/search?q=Hello%20World%21&lang=tr%C3%BC%C5%9Fは、1回の貼り付けで可読になります。このブラウザベースのデコーダーはRFC 3986に従い、JavaScriptのdecodeURIComponent()を使用します - 何もアップロードされず、アカウントは不要です。典型的なAPIデバッグワークフローの分析では、URL文字列のデコードは、インシデント調査中の開発者の最も一般的なタスクの5つのうちの1つです。
URLをデコードする方法
- パーセントエンコードされたURLまたはクエリ文字列を入力フィールドに貼り付けます。
- デコードをクリックするか、リアルタイムモードを有効にして、入力中に即座に結果を得ます。
- 可読性のあるデコードされた出力が結果パネルに表示されます。
- 分析、文書作成、共有のためにデコードされたテキストをコピーします。
URLデコーディングの理解
デコードされるもの
デコーダーは、RFC 3986のパーセントエンコーディングを逆にし、各%XXシーケンスをその16進数バイト値の文字に置き換えます。マルチバイトのUnicode文字の場合、複数の連続した%XXシーケンスがUTF-8バイトシーケンスとして一緒にデコードされます。クエリ文字列の+記号はオプションでスペースとしてデコードされます - HTMLフォーム送信で使用されるapplication/x-www-form-urlencodedの慣例です。
一般的なシーケンスとその意味
%20→ スペース(RFC 3986標準)%2B→+%2F→/%3A→:%3D→=%26→&%40→@%23→#%C5%9F→ş(マルチバイトUTF-8)%E4%B8%AD→中(マルチバイトUTF-8)
例
入力
https://example.com/search?q=Hello%20World%21&lang=tr%C3%BC%C5%9F
出力
https://example.com/search?q=Hello World!&lang=trüş
一般的な使用例
- サーバーログ分析 - アクセスログでクエリパラメータやリファラURLを読む
- リダイレクトデバッグ - 認証フローでの
?redirect=や?return_to=の値をデコードする - APIテスト - ネットワークトレースでキャプチャされたリクエストURLをデコードしてから分析する
- 分析検査 - UTMパラメータやトラッキングURLの実際の内容を読む
一般的な間違い
- 二重エンコードされたURL -
%2520は%20にデコードされ、スペースではありません。これは、%25が%自体のエンコーディングだからです。二回デコードする必要があります。 - +の取り扱いの誤り -
+はフォームデータでのみスペースを意味します。パスセグメントでは、+はリテラルのプラス記号です。フォームデータオプションを適宜切り替えてください。 - 非UTF-8エンコーディング - 古いWebアプリはISO-8859-1を使用する場合があります。その場合、デコードされた出力は非ASCII文字に対して文字化けして表示されます。
URLをエンコードするには、URLエンコーダーを使用してください。URLクエリパラメータに埋め込まれたJSONをデコードするには、まずこのツールでデコードし、その後JSONバリデーターで検証してください。URLに見つかるBase64をデコードするには、URLセーフモードのBase64デコーダーを使用してください。
よくある質問
URLデコーディングとは何ですか?
URLデコーディング(パーセントデコーディング)は、RFC 3986で定義されたパーセントエンコーディングを逆にします。各%XXシーケンスを、16進数ペアが表す実際のバイトに置き換え、そのバイトシーケンスをUTF-8テキストとして解釈します。Hello%20World%21はHello World!に変わります。これは、%20がスペース(バイト0x20)の16進数であり、%21が感嘆符(バイト0x21)の16進数だからです。
なぜデコードすると文字化けが発生するのですか?
文字化けした出力は、通常、URLが非UTF-8文字セット(古いWebアプリで一般的なISO-8859-1など)を使用してエンコードされたか、データが二重にエンコードされていることを意味します。%2520がスペースではなく%20にデコードされる場合、URLは二重にエンコードされています。実際の値を取得するには、もう一度デコードしてください。
%20と+のスペースの違いは何ですか?
%20は、現代のAPIでURLパスやクエリ値に使用されるスペースのRFC 3986標準です。+記号は、application/x-www-form-urlencoded形式(HTMLフォーム送信)でのみスペースを表します。このデコーダーは両方を処理します:%20は常にスペースとしてデコードされ、+はフォームデータモードでスペースとしてデコードされます。クエリパラメータを含む完全なURLを一度にデコードできますか?
はい。スキーム、ホスト、パス、クエリ文字列を含む完全なURLを貼り付けてください。デコーダーは、すべてのパーセントエンコードされたシーケンスを一度の処理で処理します。%2Fや%3Fのような構造的な文字をデコードすると、結果のURLが機能しなくなる可能性があるため、リクエストを行うためではなく、読み取り専用の完全にデコードされたバージョンを使用してください。
トークンやセッションIDを含むプライベートURLでこのツールは安全ですか?
はい。デコーディングは完全にクライアント側で、JavaScriptのdecodeURIComponent()を使用して実行されます。URL、認証トークン、セッション識別子、クエリパラメータは、サーバーに送信されたり、どこにも保存されたりすることはありません。