Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

URLエンコード・デコード

テキストをURLエンコードする、またはURLエンコードされた文字列を元のテキストにデコードできるツールです。日本語もUTF-8で変換できます。

ツール

0文字

モード
形式

クエリの値やパスの一部など、URLの一部分をURLエンコードするときに使います(JavaScript の encodeURIComponent と同じ)。

仕様

本ツールの仕様は以下の通りです:

  • 対応形式: URLエンコード(パーセントエンコーディング)
  • 文字コード: UTF-8(日本語や絵文字を含むテキストに対応)
  • 入力文字数制限: 100,000文字まで(絵文字などは2文字分として数えます)。超えた場合は変換しません
  • 出力形式: テキスト
  • 自動変換: 入力、モード、形式、「+ を空白として扱う」を変えると、ボタンを押さずに結果を更新します。入力の途中で変換できない場合(「%E3%81」のような途中の並びなど)は、入力が止まってから約0.6秒後にエラーを表示します(空欄のときはエラーにしません)
  • エンコード: 入力したテキストをUTF-8のバイト列として「%E3%81%82」のような形式にURLエンコード(16進数は大文字)。「形式」で変換の仕方を選択
    • 標準(%20): 英数字と「-」「_」「.」「!」「~」「*」「'」「(」「)」以外の文字をURLエンコード。スペースは「%20」。クエリの値やパスの一部に使う基本の形式(既定)
    • RFC 3986: 標準に加えて「!」「'」「(」「)」「*」も「%21」「%27」「%28」「%29」「%2A」に変換。PHPのrawurlencodeと同じ結果。厳密にURLエンコードしたいときに使う
    • フォーム(+): スペースを「%20」ではなく「+」に変換し、「!」「'」「(」「)」「~」も変換(「*」は変換しない)。フォーム送信(application/x-www-form-urlencoded)の形式
    • URL全体(記号を残す): 「;」「,」「/」「?」「:」「@」「&」「=」「+」「#」とドル記号の11文字もそのまま残す。URL全体をURLエンコードするときに使う
    • 「URL全体」でも「%」は常に「%25」に変換するため、URLエンコード済みの文字列を再度変換すると二重にURLエンコードされます
    • 「URL全体」でも「[」「]」は「%5B」「%5D」に変換します
    • エンコードできない文字(単独のサロゲート)がある場合は、その位置(何文字目か)を表示
  • デコード:
    • 「%」に続く16進数2桁をUTF-8のバイト列として元のテキストに変換(大文字・小文字は区別しません)
    • 「%」以外の文字(日本語や記号など)はそのまま出力
    • 「+ を空白として扱う(フォーム形式)」を選択したときだけ「+」をスペースに変換(既定は「+」のまま。「%2B」は常に「+」に変換)
    • エンコード時の形式の選択は、デコードには影響しません
    • 「%」の後ろが16進数2桁でない場合は、その位置(何文字目か)を表示
    • UTF-8として正しくない並びの場合は「UTF-8として正しくない文字があります」と表示
  • 注意事項:
    • URLの分解やクエリ文字列の整形には対応していません
    • 日本語ドメインの変換(Punycode)には対応していません
    • Shift_JISやEUC-JPなど、UTF-8以外の文字コードのURLエンコードには対応していません
    • 入力欄の改行はLFとして扱われるため、改行は「%0A」に変換されます
    • URLエンコードは暗号化ではないため、秘密情報の保護には使用できません
  • 処理方式: ブラウザ内で処理し、入力内容はサーバーに送信しません

使い方

本ツールの使い方は以下の通りです:

  1. テキストボックスにURLエンコードしたいテキスト(デコードの場合はURLエンコードされた文字列)を入力します。
  2. モード(エンコード・デコード)を選択します。
  3. エンコード時は、形式を選択します。選択中の形式の用途が下に表示されます。
    • 「標準(%20)」:クエリの値やパスの一部など、URLの一部分をURLエンコードします(既定)。
    • 「RFC 3986」:「!」「'」「(」「)」「*」も変換してURLエンコードします。OAuth署名など厳密な形式が必要なときに使います。
    • 「フォーム(+)」:フォーム送信の値に使います。スペースを「+」にしてURLエンコードします。
    • 「URL全体(記号を残す)」:「:」「/」「?」「#」「&」「=」などを残して、URL全体をURLエンコードします。
    • デコード時は形式を選択せず、「+ を空白として扱う(フォーム形式)」にチェックを入れると「+」をスペースに変換します。
  4. 下部に変換結果が自動で表示されます。
    • モード・形式・チェックを変えると、結果もすぐに更新されます。
  5. 変換できない場合は、入力が止まってから少し後に、エラーの原因が表示されます。不正な「%」の並びなどは、その位置も表示されます。
  6. 必要に応じて以下を選択することができます。
    • 「クリップボードにコピーする」ボタン
      • 変換結果をクリップボードにコピーできます。
    • 「リセットする」ボタン
      • 入力内容と結果を消去し、モード・形式・「+ を空白として扱う」を初期値に戻します。

※ 入力したテキストはブラウザ内で処理され、サーバーには送信されません。

関連コンテンツ