URLエンコードとは
URLには英数字と一部の記号しか使えません。そのため日本語やスペース、& = などの特殊な意味を持つ記号は、文字をバイト列に変換して % + 16進数2桁で表します。これを URLエンコード(パーセントエンコーディング) と呼びます。
| 元の文字 | UTF-8 | Shift_JIS | EUC-JP |
|---|---|---|---|
| あ | %E3%81%82 | %82%A0 | %A4%A2 |
| 日本 | %E6%97%A5%E6%9C%AC | %93%FA%96%7B | %C6%FC%CB%DC |
| (スペース) | %20 または + | ||
使い方
- 入力欄に変換したい文字列またはURLを貼り付けます。
- 「エンコード」または「デコード」を押します(自動変換がオンなら入力と同時に変換されます)。
- 「結果をコピー」でクリップボードにコピーできます。
encodeURIComponent と encodeURI の違い
encodeURIComponent は / ? & = : # などの記号もエンコードします。クエリパラメータの値を1つずつ変換するときに使います。
encodeURI はURLの構造を表す記号を残し、日本語などだけをエンコードします。URL全体をまとめて変換したいときに便利です。
RFC 3986 厳密 は ! * ' ( ) も含め、非予約文字(英数字と - _ . ~)以外をすべてエンコードします。OAuth 署名など厳密さが求められる場面向けです。
文字化けしたURLを直すには
古いWebシステムや一部の掲示板・ECサイトでは、URLが UTF-8 ではなく Shift_JIS や EUC-JP でエンコードされていることがあります。デコード結果が「�」や意味不明な文字になる場合は、文字コードを切り替えてお試しください。
よくある質問
入力した内容はどこかに保存されますか?
いいえ。変換はすべてお使いのブラウザ内(JavaScript)で行われ、サーバーには一切送信されません。社内URLや個人情報を含む文字列でも安心してお使いいただけます。
スペースは %20 と + のどちらになりますか?
URLのパス部分では %20、HTMLフォームの送信データ(application/x-www-form-urlencoded)では + が使われます。「スペースを+にする」オプションで切り替えられます。デコード時は、オプションがオンなら + をスペースとして扱います。
二重にエンコードされたURLを戻すには?
%25E3%2581%2582 のように %25 が含まれている場合は二重エンコードです。デコード後に「結果を入力へ」を押して、もう一度デコードしてください。