URLエンコード/デコード

このツールでできること

URLエンコード/デコードツールは、URLに含まれる日本語や特殊文字をパーセントエンコーディング(%XX形式)に変換したり、エンコード済みの文字列を元のテキストに戻したりできる無料オンラインツールです。JavaScriptの encodeURIComponent / encodeURI と同等の結果をブラウザ上で手軽に得られます。APIパラメータの構築やリダイレクトURLの確認、アクセスログの解析などに役立ちます。

特徴

  • encodeURIComponent / encodeURI 切替 — 用途に合わせて2つのエンコード方式を選べます。パラメータ値には encodeURIComponent(推奨)、URL全体には encodeURI を使い分けられます。
  • スペース変換オプション — スペースを %20(URL標準)または +(application/x-www-form-urlencoded)に変換する方式を切り替えられます。
  • 双方向変換 — エンコード・デコードの両方に対応。エンコード済みURLを貼り付けて元の文字列を確認することもできます。
  • ブラウザ完結・サーバー送信なし — 変換処理はすべてブラウザ内で完結。URLにトークンやパラメータが含まれていても安心です。
  • 登録・インストール不要 — ブラウザでアクセスするだけですぐに使えます。

使い方

  1. 上の「テキスト(デコード済み)」欄にエンコードしたいURL文字列やパラメータを入力します。
  2. 必要に応じてオプション(encodeURIComponent / スペース→+変換)を選びます。
  3. 「エンコード ▼」ボタンを押すと、下の「エンコード済みURL」欄に変換結果が出力されます。
  4. 逆にデコードしたい場合は、下の欄にエンコード済み文字列を貼り付けて「▲ デコード」ボタンを押します。
  5. 「コピー」ボタンで変換結果をクリップボードにコピーできます。

URLエンコード(パーセントエンコーディング)とは?

URLエンコードは、URLで使用できない文字(日本語・スペース・記号など)を % と16進数2桁で表現する変換方式です。RFC 3986で標準化されており、「パーセントエンコーディング」とも呼ばれます。

たとえば、スペースは %20、日本語の「あ」はUTF-8で3バイト(E3 81 82)なので %E3%81%82 に変換されます。ブラウザのアドレスバーでは日本語がそのまま表示されますが、実際のHTTPリクエストではこのエンコード形式で送信されています。

encodeURIComponent と encodeURI の違い

JavaScriptには2つのエンコード関数があります。用途に応じて使い分けることが重要です。

  • encodeURIComponent — URLのパラメータ値やパスの一部をエンコードするときに使います。: / ? # & = なども変換するため、パラメータ値にURLが含まれる場合も安全です。ほとんどの場面ではこちらを推奨します。
  • encodeURI — URL全体をエンコードするときに使います。URLの構造文字(: / ? # など)はそのまま残し、日本語やスペースだけを変換します。

こんなときに使えます

  • APIのクエリパラメータ作成 — 日本語や特殊文字を含む検索ワードをエンコードして、正しいAPIリクエストURLを構築。
  • リダイレクトURLの確認redirect_uri=https%3A%2F%2F... のようなエンコード済みパラメータをデコードして、リダイレクト先を確認。
  • アクセスログの解析 — Webサーバーのログに記録された %E6%A4%9C%E7%B4%A2 のようなエンコード済みURLをデコードして、ユーザーの検索キーワードを確認。
  • HTMLフォームのデバッグ — フォーム送信(POST/GET)で送られるデータの中身を確認・再現。
  • OAuthやSSOの設定 — コールバックURLやスコープ文字列のエンコードが正しいか検証。
  • SNSシェアURLの作成 — シェアボタン用のURL(https://twitter.com/intent/tweet?text=...)でテキストをエンコード。

URLエンコードでよくある間違い

URLエンコードは単純に見えますが、間違いやすいポイントがあります。

  • 二重エンコード — 既にエンコード済みの文字列をもう一度エンコードすると、%25(%のエンコード)が大量に発生します。%E3%81%82%25E3%2581%2582 になっていたら二重エンコードを疑いましょう。
  • encodeURI と encodeURIComponent の混同 — パラメータ値に encodeURI を使うと &= がエンコードされず、パラメータの区切りが壊れます。パラメータ値には encodeURIComponent を使いましょう。
  • スペースの扱い — URLでは %20、フォーム送信(application/x-www-form-urlencoded)では + が正しいスペースの表現です。用途に合わせて使い分けてください。
  • 文字コードの不一致 — 古いシステムではShift_JISでエンコードされている場合があります。現在の標準はUTF-8です。文字化けする場合は文字コードを確認しましょう。

よくある質問

無料で使えますか?
はい、完全無料です。回数制限・登録・ログインも一切ありません。
入力したデータはサーバーに送信されますか?
いいえ。エンコード・デコードはすべてお使いのブラウザ内(JavaScript)で処理されます。当サイトのサーバーにデータが送信されることはありません。
encodeURIComponent と encodeURI のどちらを使えばいいですか?
ほとんどの場合は encodeURIComponent(デフォルト)を推奨します。URLのクエリパラメータ値やパスの一部をエンコードする場合はこちらが安全です。URL全体をエンコードしたい場合のみ encodeURI を選んでください。
スペースは %20 と + のどちらが正しいですか?
どちらも正しいですが、用途が異なります。URL(RFC 3986)では %20 が標準です。HTMLフォームの送信(application/x-www-form-urlencoded)では + が使われます。APIのクエリパラメータには %20、フォームデータの再現には + を選んでください。
二重エンコードされたURLをデコードするにはどうすればいいですか?
デコードボタンを2回押してください。1回目で %25E3%E3 に戻り、2回目で %E3%81%82 が「あ」に戻ります。
スマートフォンでも使えますか?
はい。レスポンシブ対応なので、iPhone・Android のブラウザからも利用できます。