概要
| 入力 | URLまたは任意のテキスト |
|---|---|
| 出力 | パーセントエンコードされたテキスト、またはデコードされた元のテキスト |
| 2つのモード | URL全体、または単一のクエリ値 |
| 動作環境 | 完全にブラウザ内で処理 — サーバーへのアップロードなし |
| 価格 | 無料、アカウント・登録不要 |
| オフライン | 初回訪問後はオフラインで動作 |
UTF-8対応のエンコード・デコード
WebアプリケーションやAPIの開発において、日本語などのマルチバイト文字をURLに含める際はパーセントエンコーディングが必須です。当ツールはJavaScriptの標準関数を利用し、入力された文字列をUTF-8ベースで正確に変換します。
処理はすべてご利用のブラウザ内で完結するため、APIキーや個人情報を含むパラメータを外部サーバーに送信するリスクがありません。安全かつ高速にエンコードとデコードを実行できます。
コンポーネントとURL全体の違い
エンコード処理には、URL全体を対象とする場合(encodeURI)と、クエリパラメータなどの一部を対象とする場合(encodeURIComponent)の2種類があります。用途に合わせて適切な規則を選択することが重要です。
URL全体をエンコードする際は「http://」などの予約文字(:、/、?、&など)は変換されません。一方、パラメータの値としてURLを含める場合などは、すべての特殊文字をエスケープするコンポーネント用のエンコードを選択してください。
デコード時の注意点と仕様
パーセントエンコードされた文字列(例:%E3%83%86%E3%82%B9%E3%83%88)を元の日本語や記号に復元します。ただし、すでにエンコード済みの文字列を誤って二重にエンコードしてしまった場合、当ツールで自動的に検知して修正することはできません。
二重エンコードが発生した場合は、開発者が手動でデコードを複数回行い、正しい状態に戻す必要があります。また、本ツールは純粋な文字列変換に特化しており、URLの正規化や構文の妥当性チェックは行いません。
よくある質問
コンポーネント用とURL全体用のエンコードはどのように使い分けますか?
URLのパラメータ部分(?key=value の値など)を変換する場合は、すべての特殊文字を変換するコンポーネント用を使用します。一方、すでに完成しているURL全体をリンクとして機能させたまま、日本語部分だけを変換したい場合はURL全体用を選択してください。
スペースが「+」になる場合と「%20」になる場合があるのはなぜですか?
URLのクエリ文字列(?以降)では、歴史的な仕様によりスペースが「+」として扱われることがあります。それ以外のURLパス部分などでは、標準的なパーセントエンコーディングである「%20」に変換されるのが正しい仕様です。
すでにエンコードされている文字列を再度エンコードするとどうなりますか?
「%」という文字自体がさらに「%25」へと変換されてしまい、二重エンコード(ダブルエンコーディング)という状態になります。この状態になるとサーバー側で正しくデータを受け取れなくなるため、エンコードは必ず最終段階で1回だけ行うようにしてください。
誤ったエンコード規則を選択するとURLは壊れますか?
はい、壊れる可能性があります。例えばURL全体に対してコンポーネント用のエンコードを適用すると、「://」が「%3A%2F%2F」に変換されてしまい、ブラウザが有効なリンクとして認識できなくなります。用途に合った変換規則を選ぶことが重要です。
日本語以外のUnicode文字や絵文字にも対応していますか?
はい、対応しています。内部でUTF-8として処理されるため、多言語の文字やサロゲートペアを含む絵文字であっても、規格に沿った正しいバイトシーケンスのパーセントエンコーディングに変換・復元が可能です。
ツールの不具合や改善案はありますか。 フィードバックを送る