nicetool.dev logo

URL エンコード

URLで安全に使用するために文字列を変換します。

入力文字列
結果

URLエンコードとは?

URLエンコードは、URI内で安全にデータを表現するための符号化方式です。

なぜURLをエンコードするのか?

URLはASCII文字のみ使用可能なため、特殊文字は変換が必要です。

  • / パス区切りとして使用。
  • ? パスとクエリの区切り。
  • # フラグメント識別子。
  • & クエリパラメータの区切り。
  • スペースは '+' または '%20' に変換されます。

仕組み

特殊文字を '%' と16進数2桁に置き換えます。

'hello world' → 'hello%20world'

URL エンコード/デコードの使い方

  1. 1

    テキストを URL で安全に使える形にするなら Encode、%20 のようなパーセントエンコードを読める文字に戻すなら Decode を選びます。

  2. 2

    URL 全体、クエリパラメーターの値、または任意のテキストを入力欄に貼り付けます。

  3. 3

    結果はすぐに表示されます。スペースは %20 に、日本語などの非 ASCII 文字は UTF-8 のバイト列(「あ」は %E3%81%82)に、& や = などの予約文字はエスケープされます。

  4. 4

    出力をコピーしてリンク、API リクエスト、リダイレクト、計測パラメーターに使います。モードを切り替えれば逆方向も確認できます。

活用例

クエリの値

「coffee & tea」で検索するなら q=coffee%20%26%20tea と送る必要があります。そうしないと & で新しいパラメーターが始まり、サーバーには「coffee 」しか届きません。

トラッキングリンクの確認

広告やリダイレクトの URL には、エンコードされた別の URL が含まれていることがよくあります。デコードすればクリック前に本当の遷移先がわかります。

日本語 URL

日本語のパスはブラウザ内部ではパーセントエンコードされています。https://example.com/%E6%9C%AC をデコードすると「/本」という読めるパスになります。

OAuth とリダイレクト URI

redirect_uri パラメーターは完全にエンコードする必要があります。ここでエンコードすれば、? や / が混ざったことによる「redirect_uri mismatch」エラーを防げます。

よくある質問

URL エンコードとは?+

パーセントエンコーディング(RFC 3986)とも呼ばれ、URL で使えない文字や特別な意味を持つ文字を、バイトごとに % と2桁の16進数に置き換える方式です。

スペースは %20 と + のどちら?+

%20 は URL のどこでも有効です。+ がスペースを意味するのはフォームデータ(application/x-www-form-urlencoded)のクエリ内だけなので、%20 の方が安全です。

encodeURI と encodeURIComponent の違いは?+

encodeURI は / ? & = など URL の構造を作る文字を残すので URL 全体向けです。encodeURIComponent はそれらもエスケープするのでパラメーターの値1つ向けです。

デコードに失敗するのはなぜ?+

% の後に有効な16進数2桁が続いていないか、UTF-8 として正しくないバイト列が含まれています。文字列が途中で切れていないか、二重にエンコードされていないか確認してください。