URL エンコード

URLコンポーネントのエンコードとデコード

入力
出力

URL / パーセントエンコーディングとは?

URLは小さなセットのASCII文字のみを含むことができます。それ以外のもの — スペース、アクセント付き文字、絵文字、予約文字(`&`, `=`, `?` など) — は `%` の後に2つの16進数の数字を続けてパーセントエンコードする必要があります。スペースは `%20` に、`é` は `%C3%A9` に、疑問符は `%3F` になります。

単一の部分(クエリパラメータの値、パスセグメント)をエスケープする場合は「コンポーネント」エンコーディングを使用します — JavaScriptの `encodeURIComponent` に相当します。構造的区切り文字を保持したい全体のURLをエスケープする場合は「フルURL」エンコーディングを使用します — `encodeURI` に相当します。

使用例

  • クエリ文字列を構築 — ユーザー入力をパーセントエンコードして `?q=` パラメータに詰め込む。
  • サーバーログを調査 — 乱れたURLをデコードして元のパスを読み取る(`/Users/%E4%B8%AD%E6%96%87/...`)。
  • OAuthリダイレクトをデバッグ — `redirect_uri` を貼り付けてOAuthコールバックがデコードされた内容を正確に確認する。
  • curlの例を読む — チュートリアルからパーセントエンコードされたURLをコピーしてデコードしてリクエストを理解する。

入力結果
hello world & friendshello%20world%20%26%20friends
café/menu?id=123caf%C3%A9%2Fmenu%3Fid%3D123 (component) or caf%C3%A9/menu?id=123 (full URL)

よくある質問

encodeURIとencodeURIComponentの違いは何ですか?

`encodeURI` はURLの構造的な文字(`:`、`/`、`?`、`#`、`&`、`=`)をそのままにします — 全体のURLをエンコードするためのものです。`encodeURIComponent` はそれらもエスケープします — URLに入る単一の部分をエンコードするためのものです。

非ASCII文字を扱えますか?

はい。ASCII以外の文字はそのUTF-8バイト(1〜4バイト)としてエンコードされ、各バイトは `%XX` として表されます。

デコード時に `+` はスペースとして解釈されますか?

いいえ。このツールは標準のURLデコードを使用しており、`+`はそのままです。`+`がスペースを意味するルールは`application/x-www-form-urlencoded`フォームデータに特有であり、このツールには別のフォームデコードモードはありません。

エンコード後にURLが壊れるのはなぜですか?

構造的な文字(`:`、`/`、`?`、`#`)をエンコードしましたが、それらはリテラルのままである必要があります。このツールは常にコンポーネントエンコーディング(`encodeURIComponent`)を行い、それらをエスケープします — したがって、全体のURLではなく、個々のクエリ値やパスセグメントのみをエンコードしてください。

何かがアップロードされますか?

いいえ — エンコードとデコードは完全にブラウザ内で実行されます。