アップロードなし, 100%ローカル, アカウントなし

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

URL内の特殊文字をエンコード、またはパーセントエンコードされた文字列をデコードします。すべてブラウザ内で完結します。

URL エンコーダー / デコーダーの仕組み

URLエンコーダー/デコーダーは、RFC 3986でURLに特殊文字を安全に含めるために必要なパーセントエンコーディング(URLエンコードとも呼ばれる)と文字列を相互変換します。生の文字列を貼り付けてエンコードするか、パーセントエンコードされた文字列を貼り付けて人間が読める形式に戻します。変換はJavaScriptのencodeURIComponentとdecodeURIComponentを使ってブラウザ内で完全に実行されます。入力したものはデバイスの外に出ることはありません。

URLエンコーディングは、クエリパラメータ、リダイレクトURI、正規リンクをプログラムで構築する際に必要です。スペースは%20に、アンパサンドは%26に、ハッシュは%23になります。エンコーディングは国際化ドメイン名やパスセグメントの非ASCII文字にも適用されます。このツールは「/」「?」「#」などの構造的な文字を維持しながら完全なURIをエンコードするencodeURIモードも提供します。

URL エンコーダー / デコーダーの使い方をステップごとに解説

  1. エンコードまたはデコードしたいテキストを入力エリアに貼り付けます。
  2. テキストをパーセントエンコードするには「エンコード」を、エンコードを逆にするには「デコード」を選択します。
  3. クエリパラメータの値には「encodeURIComponent」モードを、完全なURIには「encodeURI」モードを選択します。
  4. 出力エリアから結果をコピーします。

よくある使用例

  • 検索リダイレクトURLを構築する開発者が、特殊文字でURL構造が壊れないようにクエリ文字列をパーセントエンコードする必要がある場合。
  • APIインテグレーターがWebhookペイロードのパーセントエンコードされたコールバックURLを受け取り、ターゲットアドレスを確認するためにデコードする必要がある場合。
  • コンテンツエディターがブラウザからアクセント文字を含むURLをコピーし、Markdownリンクで使用するためにエンコードする必要がある場合。
  • QAエンジニアが入力バリデーションエンドポイントをテストするために、「<」「>」「&」などの境界文字を送信前にエンコードする場合。

よくある質問

encodeURIComponentとencodeURIの違いは何ですか?

encodeURIComponentは文字、数字、「- _ . ! ~ * ' ( )」の文字以外をすべてエンコードします。クエリパラメータの値などの個々のコンポーネントのエンコードに使用します。encodeURIは入力が完全なURIであることを前提とし、構造的なURI文字(: / ? # [ ] @ ! $ & ' ( ) * + , ; =)はエンコードしません。値にはencodeURIComponent、URL全体にはencodeURIを使用します。

ここに貼り付けたテキストはサーバーに送信されますか?

いいえ。エンコードとデコードはJavaScript組み込みのencodeURIComponentとdecodeURIComponent関数を呼び出します。ブラウザのJavaScriptエンジン内で完全に実行されます。ここに入力したものはどこにも送信されません。

スペースが「%20」ではなく「+」になる場合があるのはなぜですか?

スペースの「+」表記は、HTMLフォーム送信で使用される古いapplication/x-www-form-urlencodedフォーマットに由来し、RFC 3986のパーセントエンコーディングとは異なります。このツールは厳格なRFC 3986パーセントエンコーディングを使用するため、スペースは%20になります。ターゲットシステムがスペースに「+」を期待している場合は、エンコード後に手動で%20を「+」に置換する必要があります。

クエリ文字列を含む完全なURLを一度にエンコードできますか?

はい、「encodeURI」モードを使用します。そのモードは「/」「?」「=」「&」「#」などのURL構造的文字を維持しながら、セグメントやパラメータ値に現れる非ASCIIおよび予約文字をエンコードします。個々のパラメータ値にのみ「encodeURIComponent」を使用し、完全なURLには使用しないでください。

このツールはUnicode文字や絵文字を処理できますか?

はい。JavaScriptのencodeURIComponentはまず文字をUTF-8バイトシーケンスに変換し、各バイトをパーセントエンコードします。「サムズアップ」のような絵文字は%F0%9F%91%8Dのようなマルチバイトシーケンスにエンコードされます。デコードはプロセスを正しく逆順に処理します。