URL デコーダー
パーセントエンコードされた URL を読めるテキストに変換——100% ブラウザ内で完結、アップロード不要。
入力
出力
URL デコードとは?
URL デコードは URL エンコード(パーセントエンコード)の逆プロセスです。URL 内のパーセントエンコードシーケンス——% で始まり 2 桁の 16 進数が続くシーケンス——を元の文字に変換します。例えば %20 はスペース、%26 は &、%E3%81%82 は日本語の「あ」になります。デコードにより、ブラウザやアプリケーションは URL 内に安全に転送された値を読み取ることができます。
デコードプロセスは RFC 3986 で規格化され、すべての現代的なプログラミング言語に実装されています。本ツールが使用する JavaScript 関数は decodeURIComponent() で、encodeURIComponent() が生成したエンコードを反転させます。各 %XX シーケンスを読み取り、16 進数をバイトとして解釈し、UTF-8 文字エンコーディングに従ってバイトを元の文字列に組み立てます。
URL デコードが必要な場面
URL 内で転送されたテキストを受信し、その元の形を読み取ったり処理したりする場合に URL デコードが必要です。一般的なシナリオ:
- クエリパラメータの読み取り。 サーバー側コードやクライアント側スクリプトは
?name=John%20DoeをJohn Doeにデコードしてから値を使用する必要があります。 - URL のデバッグ。 エンコードされた URL をデコーダーに貼り付けると実際のパラメータ値が表示され、トラブルシューティングが速くなります。
- API レスポンス。 一部の API はペイロード内でエンコードされた値を返します。デコードにより人間が読めるようになります。
- アナリティクスデータ。 UTM パラメータやトラッキング値は多くの場合エンコードされており、レポートのためにデコードする必要があります。
- OAuth コールバック。 状態トークンやリダイレクト URI はエンコードされた形で到着し、検証前にデコードが必要です。
- 国際化テキスト。 転送のためにパーセントエンコードされた中国語、日本語、韓国語、絵文字はデコードして正しく表示する必要があります。
値を 2 回デコードすると破損する可能性があります(例えば元のテキストのリテラル %20 が誤ってスペースになります)。そのため、正確に 1 回だけデコードすることが重要です。
decodeURIComponent と decodeURI の違い
JavaScript には 2 つのエンコード関数に対応する 2 つのデコード関数があります。decodeURIComponent() は /、?、& などの予約文字のエンコードを含むすべての %XX シーケンスをデコードします。decodeURI() はエンコードされた予約文字をそのまま残します。入力が完全な URL でその構造を維持する必要があると想定するためです。
encodeURIComponent() でエンコードされた個々のパラメータ値をデコードする場合は decodeURIComponent() を使用してください。encodeURI() でエンコードされた完全な URL をデコードする場合のみ decodeURI() を使用します。本ツールは decodeURIComponent() を使用します。最も一般的な実務タスクは完全な URL ではなく単一の値のデコードだからです。
一般的なデコード文字
下表は実務で最も頻繁に遭遇するエンコードシーケンスとそのデコード形式を示しています。
| エンコード | 文字 | 説明 |
|---|---|---|
| %20 | スペース | スペースの標準パーセントエンコード |
| + | スペース(フォームデータ) | application/x-www-form-urlencoded のみ |
| %26 | & | クエリパラメータの区切り |
| %3D | = | キーと値の区切り |
| %3F | ? | クエリ文字列の開始を示す |
| %23 | # | フラグメントの開始を示す |
| %2F | / | パス区切り文字 |
| %25 | % | パーセント記号そのもの |
入力にスペースを表す + 記号が含まれている場合(フォームデータなど)、デコード前に + を %20 に置換する必要がある場合があります。decodeURIComponent() は + を変更しないためです。
URL のデコード方法
本ツールでのテキストデコードは 1 秒で完了し、すべてブラウザ内で行われます。アップロード不要、登録不要、インストール不要。ツールは JavaScript ネイティブの decodeURIComponent() 関数を使用します。以下の手順で行います:
- エンコード文字列を貼り付け。 パーセントエンコードされた URL またはパラメータ値をコピーして入力ボックスに貼り付けます。
- 「デコード」をクリック。 ツールが入力に対して
decodeURIComponent()を実行し、デコードされたテキストをリアルタイムで出力ボックスに書き込みます。 - エラーを確認。 入力に不正な
%シーケンスが含まれる場合、エラーメッセージが表示されます。入力を修正して再試行してください。 - 結果をコピー。 「クリップボードにコピー」をクリックしてデコードされたテキストをコピーし、必要な場所で使用します。
すべてのステップは JavaScript でブラウザ内でローカルに実行されるため、テキストがサーバーにアップロードされることはありません。これによりデコードは完全にプライベートで高速、トークン、キー、個人データなどの機密コンテンツに適しています。
この URL デコーダーは無料ですか?
はい、完全に無料で、登録不要、透かしなし、制限なしです。
不正な入力をどう処理しますか?
入力に decodeURIComponent() が解析できない無効な % シーケンスが含まれる場合、エラーメッセージを表示します。
+ をスペースに変換しますか?
いいえ。decodeURIComponent() は + を変更しません。フォームデータの場合はデコード前に + を %20 に置換してください。
Unicode をデコードできますか?
はい。%E3%81%82 のような UTF-8 バイトシーケンスは元の文字にデコードされます。
入力はアップロードされますか?
いいえ。すべての処理はローカルで行われ、テキストがブラウザから離れることはありません。