URLエンコーダー/デコーダー
シェアする
使い方
- 1 テキスト → URL: 上の入力欄にテキストを入力し「エンコード」をクリック。
- 2 URL → テキスト: 下の入力欄にエンコード済みURLを貼り付けて「デコード」をクリック。
- 3 日本語・スペース・記号(&, =, ?, /等)は%形式に変換され、URL内で安全に使えるようになります。
- 4 クエリパラメータ全体ではなく、値部分のみエンコードしてください(?やkey=を含めると不正URLになります)。
URLエンコーダー/デコーダーについて
よくある質問
Q なぜ日本語URLを%XXに変換する必要が?
URLは元々ASCII文字だけを想定した規格で、日本語・記号・スペース等は<strong>RFC 3986でパーセントエンコード必須</strong>と定められています。そのまま入れると古いブラウザ・プロキシ・サーバーで誤認識されたり、URLが壊れる可能性があります。現代のブラウザは表示時に自動デコードしますが、内部送信時はエンコード済みの形式で送られます。
Q スペースはなぜ%20になる?
スペースのASCII値が0x20(10進32)で、これを16進2桁で表現すると「20」だからです。「+」でも代替できますが、これはHTMLフォーム送信(application/x-www-form-urlencoded)専用の歴史的経緯によるもの。<strong>%20が標準・URL内安全</strong>、「+」はフォーム送信のみ。本ツールは%20を採用しています。
Q encodeURIとencodeURIComponentどちらを使う?
<strong>クエリパラメータ値は必ずencodeURIComponent</strong>を使うのが鉄則です。encodeURIは「URL全体の整形」用で、:, /, ?, #等の予約文字をエンコードしないため、値の中にこれらが含まれているとURLが壊れます。一方encodeURIComponentはより厳密で、予約文字も全てエンコードするため、クエリ値・パスセグメント・フラグメントに最適。
Q URLが長すぎるとどうなる?
ブラウザ・サーバーで限界があります。Chromeは約32,000文字まで、IE 11は2,083文字、Firefoxは65,536文字。サーバー側はApacheは8,000文字、Nginxは4,096〜8,192文字(設定変更可)。<strong>SEO・SNSシェア観点では100文字以下が望ましい</strong>。長すぎる場合は短縮URL(bit.ly、tinyurl)・POSTリクエスト・ハッシュ断片に分けるのが現実的。
Q 日本語スラッグはSEO的にOK?
OKです。Googleは2010年以降、エンコードURLを正確に扱います。例: <code>/ブログ/旅行</code>と<code>/blog/travel</code>は同等のSEO効果。ただし<strong>表示時の見栄え・SNSシェア時の崩れ</strong>を考えると英数字+ハイフン(<code>/blog/japan-travel</code>)が無難。日本国内向けで日本語キーワードを直接URLに入れたい場合のみ日本語スラッグが推奨。
Q %が含まれる文字列をエンコードしたい場合は?
%自体もエンコードしてください。<code>%</code>のASCII値は0x25なので、エンコードすると<code>%25</code>になります。例: <code>50%off</code>(セール表記) → <code>50%25off</code>。これを忘れると<strong>「%off」がパーセント記号で始まる不完全エンコード</strong>と判断され、デコードエラー(<code>URI malformed</code>)になります。
Q シングルクォートとダブルクォートは?
どちらもエンコード対象ですが、ブラウザにより挙動が異なります。<strong>encodeURIComponentでは「'」(0x27 → %27)、「"」(0x22 → %22)</strong>。HTML属性内に直接入れる場合はHTMLエスケープ(' / ")も併用が安全。CSRF対策の入力検証では両方考慮することが必須です。
Q URLとURIとURNの違いは?
</p><ul class="ri-ul"><li><strong>URI</strong>(RFC 3986): リソース識別子の総称。URLとURNを含む。</li><li><strong>URL</strong>: 場所(<code>https://example.com/page</code>)を示す具体的なURI。最も一般的。</li><li><strong>URN</strong>: 名前(<code>urn:isbn:0451450523</code>)を示すURI。場所に依存しない。</li></ul><p>本ツールは「URL/URI」両方に同じエンコード方式が適用されます。
Q デコードしても元に戻らない場合は?
以下が考えられます:</p><ul class="ri-ul"><li>二重エンコード: <code>%2520</code>(=エンコード済み%20)の場合、2回デコードが必要</li><li>異なる文字コード: Shift_JIS/EUC-JPでエンコードされた古いURLは、UTF-8デコードできない</li><li>文字化け: 元データが既に壊れている</li></ul><p>本ツールはUTF-8前提です。古い日本語サイトのURL等で文字化けする場合、専用変換ツール(EUC-JP / Shift_JIS デコーダー)を使ってください。