概要
URL エンコーダー/デコーダーは、開発者や QA、コンテンツ担当者がブラウザを離れずに URL 用テキストを安全に変換するためのツールです。クエリ値、パス断片、完全な URL、フォーム値をエンコードできるほか、既存のパーセントエンコード文字列をデコードして確認やデバッグにも使えます。
使い方
まず自動、エンコード、デコードのいずれかを選び、次に用途に合う方式を選択します。クエリ値や単独の文字列にはコンポーネント、完全なリンクには完全な URL、application/x-www-form-urlencoded にはフォーム値が適しています。入力を貼り付け、必要なら各行を個別処理し、その後コピー、入れ替え、ダウンロードを行います。
主な機能
- •URL コンポーネント、完全なリンク、フォーム値のエンコード/デコードに対応
- •パーセントエンコードのパターンから方向を判断する自動モード
- •encodeURIComponent、encodeURI、フォーム値向けの専用方式
- •複数値をまとめて扱いやすい行単位処理
- •大文字のパーセントエスケープで出力を統一
- •コピー、入れ替え、ダウンロードをすぐ実行
- •サーバーへ送信しないローカルブラウザ処理
コンポーネント方式と完全な URL 方式の使い分け
検索語、タグ、パス断片、ファイル名のように単一の値を扱う場合は、コンポーネント方式が適しています。&、=、/ のような区切り文字もエンコードするため、クエリ値や動的ルート片で安全です。
すでに URL 全体があり、その構造を読みやすく残したい場合は完全な URL 方式を使います。https://、/、?、&、# を壊さずに、空白や Unicode、危険な文字だけを処理できます。
クエリ文字列とフォーム値
クエリパラメータでは通常パーセントエンコードが使われますが、従来の HTML フォームでは application/x-www-form-urlencoded が使われ、空白は + に置き換えられます。この違いは重要です。誤った方式でフォーム値をデコードすると、プラス記号が残って見た目がおかしくなります。
よくあるミス
encodeURIComponent で URL 全体をエンコードしてしまい、あとで読みにくくなるのはよくある失敗です。また、100% 完了 のように通常の % を含む平文をデコードしようとしてエラーになることもあります。自動モードは判断を助けますが、文脈が分かっているなら手動で方式を選ぶ方が確実です。
プライバシーと安全性
URL エンコードは書式変換であり、暗号化ではありません。シークレット、トークン、パスワード、個人情報を隠す仕組みではありません。このツールはブラウザ内でローカル処理されますが、それでも機密性の高い値はログ、スクリーンショット、チケットへ不用意に共有しない方が安全です。
エンコード方式ガイド
扱う文字列の種類に合わせて適切な方式を選びます。
| 方式 | 何をエンコードするか | よくある用途 |
|---|---|---|
| コンポーネント | &、=、/、? などの区切り文字もエンコード | クエリ値、パス断片、ファイル名、動的テキスト |
| 完全な URL | URL 構造文字を読みやすく保つ | 空白や Unicode だけ処理したい完全な URL |
| フォーム値 | 空白を + にする | HTML フォーム送信値や従来型クエリ文字列 |
よくある URL エンコードの間違い
技術的には有効でも結果が不自然に見える典型例です。
| 状況 | より良い選択 | 理由 |
|---|---|---|
| 完全な URL をコンポーネントとしてエンコード | 完全な URL 方式を使う | リンク全体が読みにくく再利用しづらくなる |
| フォーム値を + の扱いなしでデコード | フォーム値方式を使う | プラス記号は通常空白を表す |
| % を含む平文をデコード | エンコードまたは自動を使う | すべての % がエスケープ開始ではない |
| エンコード済みの秘密情報を共有 | 本来の秘密情報管理を使う | エンコードは暗号化ではない |
よくある質問
encodeURI と encodeURIComponent の違いは何ですか?
encodeURIComponent は単一の値向けで、アンパサンドやスラッシュのような区切り文字もエンコードします。encodeURI は URL 全体向けで、構造文字を読みやすく残します。
フォーム方式で + が空白になるのはなぜですか?
従来のフォームエンコードでは空白をプラス記号で表します。フォーム値方式はその慣習に合わせています。
URL エンコードは暗号化と同じですか?
違います。URL エンコードはテキストを送信しやすい形式に変えるだけで、誰でも元に戻せます。
完全な URL をそのまま貼り付けても大丈夫ですか?
はい。完全な URL 方式はリンク全体向けです。URL の一部だけを扱うならコンポーネント方式が向いています。
入力はサーバーに送られますか?
送られません。エンコードとデコードはブラウザ内でローカル実行されます。