URLエンコード・デコード

URLやテキストを簡単にエンコード・デコードできます。

URLエンコードについて

URLエンコードは、URLに含めることができない文字(日本語や特殊文字)を安全な形式に変換する処理です。

エンコードが必要な場合

  • 日本語やその他の非ASCII文字をURLに含める場合
  • スペースや特殊文字(&, =, ?など)をパラメータ値として使う場合
  • フォームデータをURLとして送信する場合

デコードが必要な場合

  • エンコードされたURLを人間が読める形式で確認したい場合
  • URLパラメータの内容を解析する場合
  • ログやデータベースからURLを読み取る場合

変換例

変換前変換後
你好%E4%BD%A0%E5%A5%BD
Hello World!Hello%20World%21
https://example.com/?q=搜索https%3A%2F%2Fexample.com%2F%3Fq%3D%E6%90%9C%E7%B4%A2
このツールはURL文字列のエンコード・デコードを目的としたものです。使用は自己責任でお願いします。

PERCENT-ENCODING GUIDE

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

URLエンコードは、日本語、空白、記号などをURLで安全に扱える%から始まる表現へ変換します。このツールはJavaScriptのencodeURIComponent・decodeURIComponent相当で、入力した文字列をブラウザ上で変換します。

基本の使い方

  1. 1

    モードを選ぶ

    日本語や記号を%形式へ変える場合はエンコード、%E3%81%82のような文字列を戻す場合はデコードを選びます。

  2. 2

    文字列を入力

    クエリ値やURLの一部分など、変換したい範囲を入力します。入力内容はサーバーへ送信せず、ブラウザ内で処理します。

  3. 3

    結果をコピーして確認

    変換結果をコピーし、二重エンコードや文字化けがないか実際の利用先で確認します。

結果の見方

%E3%81%82 のような値
文字をUTF-8のバイト列へ変換し、各バイトを%付き16進数で表したものです。
%20 と +
一般的なURL成分では空白を%20で表します。フォーム形式では+を空白として扱う場合があり、文脈が異なります。
%25
%記号自身をエンコードした値です。%2520のような結果は二重エンコードの可能性があります。
予約文字
&、=、?、#などはURL内で役割を持ちます。クエリ値だけを変換し、区切り記号までまとめて変換しないようにします。

よく使う場面

日本語をクエリへ入れる

検索語やファイル名などをURLパラメータの値として安全に渡します。

ログのURLを読みやすくする

%形式のパスやパラメータをデコードし、元の日本語や記号を確認します。

APIリクエストを確認する

パラメータ単位で変換結果を比べ、&や=が値として扱われるべきか確認します。

うまくいかないときの確認点

  • URL全体をencodeURIComponentすると、https://の区切りや/まで変換されます。通常は値やパスの一部分を対象にします。
  • URIErrorが出る場合は、%の後ろに16進数2桁がないなど、不完全なエンコード文字列が含まれていないか確認します。
  • %25が繰り返し現れる場合は、すでにエンコード済みの文字列を再度変換していないか確認します。
  • 文字化けする場合は、元データと受け取り側が同じ文字コード、通常はUTF-8として処理しているか確認します。

よくある質問

Q.URL全体をエンコードしてよいですか?

用途によります。このツールはURL成分向けの変換なので、通常はクエリ値やパスの一部を対象にします。URL全体では区切り記号の扱いに注意してください。

Q.URLデコードで+が空白にならないのはなぜですか?

+を空白として扱うのはapplication/x-www-form-urlencodedの規則です。decodeURIComponent自体は+をそのまま残します。

Q.変換した文字列は外部へ送信されますか?

このページのエンコード・デコード処理はブラウザ内で行われ、変換対象の文字列をサーバーへ送信しません。