URL ツール · 通信は行いません

URL エンコード

テキストを URL 用にエンコードします。component・完全 URI・フォームの 3 方式を区別します。

入力

結果

https%3A%2F%2Fexample.com%2F%E6%90%9C%E5%B0%8B%3Fq%3Da%2Fb%26tag%3D%E8%A1%8C%E9%8A%B7

このツールについて

テキストや URL を貼り付けるとエンコード結果が得られます。3 つのモードを用意しているのは、これらが本質的に別の作業だからです。**component** はすべての予約文字をエスケープし、クエリの値に使います。**完全 URI** は `:/?#[]@` などの構造文字を残すため、URL 全体がそのまま使えます。**フォーム** は component に加えて空白を `+` にするもので、HTML フォームが実際に送信する形式です。モードの選び間違いは URL が壊れる最大の原因なので、違いを明示して並べて確認できるようにしています。

操作手順

  1. モード(component・完全 URI・フォーム)を選びます。
  2. エンコードするテキストまたは URL を貼り付けます。
  3. 結果をコピーするか、デコードツールで逆変換して確認します。

制限と規則

最大 8,000 文字。3 つのモードはエスケープ範囲が異なり、選び間違えると使えない URL になります。

プライバシー

URL はこのブラウザ内でのみ解析します。URL にはトークン、内部パス、クエリ中の個人情報が含まれることが多いため、送信も保存も記録もしません。

よくある質問

component と完全 URI はどう使い分けますか。
「1 つの値」をエンコードするときは component です。`a/b?c` を `?q=` の後ろに入れるなら、スラッシュと疑問符を `a%2Fb%3Fc` にエスケープする必要があります。「URL 全体」をエンコードするときは完全 URI で、`https://` のスラッシュや `?` がそのまま残ります。URL 全体を component でエンコードすると、リンクとして使えない文字列になります。
空白が %20 のときと + のときがあるのはなぜですか。
`%20` は一般的な URL エンコードです。`+` は HTML フォーム送信時の `application/x-www-form-urlencoded` の慣行で、クエリ文字列の中でのみ空白を意味します。パス中の `+` はプラス記号そのものであり、デコード時の誤りの原因になりやすいため、フォームモードを分けています。