URL Encoder / Decoderとは?
URLエンコーダー/デコーダーは、テキストをURL安全なパーセントエンコード形式に変換する必須のウェブ開発ツールです。URLにスペース、特殊記号、アクセント文字や絵文字などの非ASCII文字が含まれていると、正しくエンコードされていないと破損します。このツールは、URLモード(完全なURLのエンコード)とコンポーネントモード(個々のクエリパラメータ値のエンコード)の両方を完全サポートした即時エンコードとデコードを提供し、複数の文字列を同時に処理するバッチモードも備えています。RFC 3986で定義されたすべての標準パーセントエンコード操作を処理します。Web開発者、API統合者、SEOスペシャリスト、クエリ文字列やリダイレクト、URLベースのデータ転送に携わるすべての人に不可欠です。ブラウザ内で完結するため高速でプライベートです。
この計算機を使用するタイミング
- スペース、記号、非ASCII文字を含むクエリパラメータを持つURLを構築している
- パーセントエンコードされたURLをデコードして実際の内容を読みたい
- エンコードされていない特殊文字が原因でAPIがURLを拒否しており、デバッグしている
- 使用前にサニタイズが必要なユーザー送信URLを処理している
- 複数のURLセグメントをまとめてバッチエンコードまたはデコードする必要がある
- パラメータを正しくエンコードする必要があるリダイレクトやコールバックURLを構築している
手順:
- エンコードまたはデコードしたいテキスト/URLを入力または貼り付けます。
- エンコードまたはデコードモードを選択します。
- 変換ボタンをクリックします。
- 結果をコピーしてアプリケーションで使用します。
計算式
エンコード: 安全でない文字 → % + 2桁の16進コード ➡ デコード: %XX → 元の文字
ユースケース
- URLに安全なクエリ文字列を構築する
- APIリクエストのパラメータを処理する
- エンコードされたURLをデバッグする
- URLに適したスラッグとパスを作成する
主な利点
- タイピング的同时にリアルタイムでエンコードとデコード
- URLモードとコンポーネントモードの両方をサポート
- 複数の文字列を同時にエンコードまたはデコードするバッチモード
- Unicodeや絵文字を含むすべての特殊文字を処理
- 100%ブラウザベース — サーバーにデータが送信されない
- エンコーディングが入力を重複させたり切り捨てたりしていないことを確認するための視覚的な文字数表示
プロのヒント
- URLに含める前に、ユーザー生成のURLパラメータを常にエンコードしてください
- JavaScriptでは個々のクエリパラメータ値にencodeURIComponent()を使用してください
- ユーザーに表示する前にURLをデコードして読みやすくしてください
- 二重エンコーディングに注意:%25の後にさらに16進数が続く場合、URLは恐らく2回エンコードされています
- クエリ文字列を構築する際はコンポーネントモードを、URLパス全体または完全なURLをエンコードする際はURLモードを使用してください
避けるべきよくある間違い
- 既にエンコードされたURLをエンコードして二重エンコーディング、%20が%2520に変換される
- 間違ったエンコーディングコンテキストの使用 — URLモードとコンポーネントモードは同じ入力に対して異なる出力を生成
- +がapplication/x-www-form-urlencodedデータ内でのみスペースを表すことを忘れる
- 非ASCII文字を正しく処理しない — パーセントエンコーディングの前に必ずUTF-8エンコーディングを確認してください
重要な用語の説明
- パーセントエンコーディング: URL内で文字をエンコードする標準メカニズム、安全でない文字を%とその後の2桁の16進ASCIIコードに置き換え
- クエリ文字列: URLの?文字の後の部分、&で区切られたキーと値のペアを含む
- 予約文字: :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, = — RFC 3986に従いURL構文で特別な意味を持つ文字
- コンポーネントモード対URLモード: コンポーネントモードはより多くの文字をエンコードし個々の値用; URLモードはURL構造を保持し完全なパス用
関連コンセプト
- パーセントエンコーディング: 安全なURL送信のために、安全でない文字を%とその2桁の16進ASCIIコードに置き換える仕組み
- クエリ文字列: URL内の?文字より後の部分で、&文字で区切られたキーと値のペアを含む
- 予約文字: :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, =のような、RFC 3986に基づくURL構文で特別な意味を持つ文字
- URL安全な文字: URLでエンコードを必要としない未予約文字(英字、数字、-、_、.、~)
- encodeURIComponent vs. encodeURI: encodeURIComponentが個々の値に対して英字・数字・_*-.~以外をすべてエンコードするのに対し、encodeURIは完全なURLに対してURL構造の文字を保持するJavaScript関数
例
'Hello World & Friends!'をエンコード → 'Hello%20World%20%26%20Friends%21'。'search%3Fq%3Dhello+world'をデコード → 'search?q=hello world'。
結果の解釈方法
エンコーダーは、安全でないURL文字(スペース、&、?、#、非ASCIIなど)を、各文字が%とその2桁の16進コードになるパーセントエンコード形式に変換します。デコーダーはこのプロセスを逆にして、元の読みやすいテキストを復元します。文字数は、エンコードによって入力が予期せず重複または切り詰められていないことを確認するのに役立ちます。
コンポーネントモードはより広い範囲の文字をエンコードし、個々のクエリパラメータ値をエンコードするために設計されています。URLモードはエンコード対象がより厳格で、完全なURLパスまたはURL全体をエンコードするために設計されています。クエリ文字列を構築するときはコンポーネントモード、完全なURLをエンコードするときはURLモードを使用してください。
バッチモードでは複数の行を一度にエンコードまたはデコードでき、処理するURLやパラメータのリストがある場合に便利です。各行は個別の入力として扱われ、すべての結果がまとめて表示されるため簡単にコピーできます。

