URLエンコード・デコード変換ツール - 多彩な文字コードとエンコード方式に対応

URLやテキストに含まれる特殊文字、空白、日本語などをURLエンコード・デコード形式へ簡単に変換できます。
UTF-8を標準サポートし、UTF-16、UTF-32、ASCII、ISO-8859系、EUC系、Shift_JISなど30種類以上の文字コードに対応しています。

エンコード方式は Standard、Form、URI、Sitemap の4種類から選択できます。
Sitemap Encodeは、sitemap.xml の <loc> タグ向けにURLを最適化します。
&<>'" などのXML予約文字も自動変換されるため、そのまま sitemap.xml に貼り付けて利用できます。

文字列データをあわせて処理したい場合は、Base64エンコード・デコードツールJSONフォーマッターも便利です。

VivoldiのURLエンコード・デコード変換ツールで、特殊文字や多言語文字をウェブで‘安全’に転送可能な形式に変換する3Dビジュアル | URLエンコード, URLデコード, パーセントエンコーディング

エンコード結果:

デコード結果:

URLエンコードエラーが発生しやすいケース

URLエンコードのトラブルは、主に3つの原因で発生します。

1つ目は、エンコード方式の選択ミスです。
フォーム送信にStandard方式を使用したり、sitemap.xmlに通常のURLエンコードを適用すると、サーバー側で正しく解釈されない場合があります。

2つ目は、文字コードの不一致です。
送信側と受信側で異なる文字コードを使用していると、文字化けやデータ欠損が発生することがあります。

3つ目は、二重エンコードです。
すでにエンコード済みのURLを再度変換すると、%%25 に変わり、リンクが正常に動作しなくなる場合があります。重複エンコード防止オプションを有効にすると、この問題を防げます。

エンコード方式の違い - Standard・Form・URI・Sitemap

URLエンコードは用途に応じて適切な方式を選ぶことが重要です。

  • Standard Encodeは最も一般的な方式で、空白を%20へ変換します。
  • Form EncodeはHTMLフォーム送信向けの方式で、空白を+として処理します。
  • URI EncodeはURL全体の構造を保持したまま、パス(path)とクエリ(query)部分のみをエンコードするため、完全なURLの変換に適しています。
  • Sitemap Encodeは sitemap.xml 専用に最適化された方式です。
    通常のURLエンコードを行っても、&amp;ではなく&が残っていると、XMLパーサーでエラーが発生することがあります。
    この方式では、&&amp;<&lt; のようにXML予約文字も自動変換されるため、そのまま <loc> タグへ貼り付けて利用できます。

用途に合わない方式を選択すると、サーバー側でパラメータが正しく解釈されなかったり、リンクが正常に動作しなくなる原因になります。

多彩な文字コードに対応 - UTF-8・EUC・Shift_JIS など

文字コードには、それぞれ文字をバイト列へ変換する独自のルールがあります。
異なる文字コードを使用すると、同じバイト値でも別の文字として解釈され、文字化けが発生します。

Web標準ではUTF-8が推奨されていますが、古いシステムや地域特有の環境では、現在でもレガシー文字コードが利用されています。
VivoldiはUTF-8、UTF-16、UTF-32、ASCII、ISO-8859系に加え、EUC系、Shift_JIS、GB2312、Big5など30種類以上の文字コードに対応しています。

送信側と受信側で同じ文字コードを使用することが、文字化けやデータ破損を防ぐ基本です。

API連携・クエリパラメータ作成時のURLエンコード

外部APIを利用する際、クエリパラメータに特殊文字や空白が含まれていると、リクエストが正しく処理されない場合があります。

URLエンコードを適用することで、サーバー側でパラメータを正確に解釈できます。
たとえば、空白は%20&%26=%3Dへ変換されます。

メール内のリンク、SNS共有URL、OAuthコールバックパラメータなどでも同じ仕組みが利用されています。
ドメインに日本語などの非ASCII文字が含まれる場合は、ドメインPunycode変換ツールも活用できます。

パーセントエンコードURLのデコードとエラー解析

メールで受け取ったリンクが%2F%3Aのような文字列だらけになっていたり、ブラウザのURLが読みにくい場合は、デコードタブへ貼り付けるだけで元の内容を確認できます。

開発環境では、サーバーログ解析、APIレスポンスの確認、リダイレクトパラメータのデバッグなどにも同じ方法が役立ちます。

前後の空白削除オプションを使えば、コピー時に混入した不要なスペースもまとめて処理できます。
整理したテキストやIP一覧を行単位で並び替えたい場合は、テキスト/IP並び替えツールも便利です。

よくあるご質問

URLエンコード(パーセントエンコーディング)は、URL内の空白、特殊文字、日本語などの非ASCII文字を、%と16進数の組み合わせへ変換する標準的な方式です。

WebアドレスはもともとASCII文字のみを扱う前提で設計されているため、特殊文字や日本語をそのまま送信すると、サーバーやブラウザが正しく解釈できない場合があります。

たとえば、空白は%20&%26へ変換されます。

エンコードは、テキストを%xx形式へ変換する処理です。

デコードはその逆で、%xx形式を人が読める文字列へ戻します。

ツール上部のタブから、エンコードとデコードを切り替えられます。

現在のWeb環境では、通常UTF-8が推奨されています。世界中の言語や特殊文字を扱える標準的な文字コードです。

古いシステムや特定地域向けサービスを利用している場合は、その環境で使用されている文字コードに合わせる必要があります。
文字コードが一致していないと、文字化けや表示崩れが発生する原因になります。

どれを選べばよいかわからない場合は、UTF-8を使用するのが最も安全です。

sitemap.xml の <loc> タグには、W3C標準に準拠した形式でエンコードされたURLを使用する必要があります。

Sitemap Encodeを選択すると、<loc>向けに最適化された形式へ変換されます。
通常のStandard Encodeとは異なり、&などのXML予約文字も正しく処理されます。

変換後のURLを、そのまま<loc>の値へ貼り付けて利用できます。

Standard Encodeは、空白を%20へ変換する方式です。REST APIの呼び出しやURLの手動生成など、一般的なURLエンコードで広く使用されます。

Form Encodeは、空白を+として処理し、HTMLのapplication/x-www-form-urlencoded形式でフォームデータを送信する際に使用されます。

これらを混在させると、サーバー側で空白が正しく解釈されない場合があります。データ送信方式に合わせて適切な方式を選択してください。

エンコード結果が異なる主な原因は、文字コードエンコード方式の違いです。

同じ文字でも、UTF-8とレガシー文字コードでは異なるバイト値になります。たとえば、同じ文字列をUTF-8とISO-8859-1でエンコードすると、結果は大きく変わります。

同じ結果を得たい場合は、相手側のツールと同じ文字コード・エンコード方式を選択してください。
迷った場合は、文字コードをUTF-8、エンコード方式をStandard Encodeに設定するのが最も一般的で安全です。