2026-02 更新

URLエンコーダー/デコーダー

URLの特殊文字をパーセントエンコードしたり、デコードして元に戻します。

URLエンコーダー/デコーダー

シェアする

使い方

  1. 1 テキスト → URL: 上の入力欄にテキストを入力し「エンコード」をクリック。
  2. 2 URL → テキスト: 下の入力欄にエンコード済みURLを貼り付けて「デコード」をクリック。
  3. 3 日本語・スペース・記号(&, =, ?, /等)は%形式に変換され、URL内で安全に使えるようになります。
  4. 4 クエリパラメータ全体ではなく、値部分のみエンコードしてください(?やkey=を含めると不正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エスケープ(&apos; / &quot;)も併用が安全。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 デコーダー)を使ってください。