せやテクあると助かる、ちょうどいいWebツール。
開発・デバッグ支援

URLクエリパーサー

URLまたはクエリ文字列を入力すると、クエリパラメータをkey/valueの一覧で確認できます。重複キーや値なしパラメータも区別して表示します。

入力データはサーバーへ送信されませんインストール不要無料で使えます

入力例

結果

URLまたはクエリ文字列を入力して「解析」を押してください。

このツールでできること

URLクエリパーサーの主な機能です。

  • URLまたはクエリ文字列を入力するだけで、percent-decode後のクエリパラメータをkey/valueの一覧として確認できます+はスペースとして解釈されます
  • 同じキーが複数回出現する場合も、グルーピングせず出現順のまま表示します
  • 「値なし」(?foo)と「空文字列」(?foo=)を画面表示上のバッジで区別します
  • 一覧のkey/valueをTSV形式で一括コピーできます

使い方

URLまたはクエリ文字列を解析する手順を説明します。

手順を見る
  1. 「URLまたはクエリ文字列」欄に、解析したいURLまたはクエリ文字列を入力します「入力例」のボタンで例を入れることもできます
  2. 「解析」を押します
  3. キーと値の一覧で内容を確認します重複キーや値なしのパラメータも区別して表示されます
  4. 必要に応じて「一括コピー」で結果をコピーします

URLクエリパーサーの仕組みと注意点

詳しい解説を見る

URLクエリパラメータとは

URLの?以降にあるkey=value&key2=value2&...という形式の部分をクエリパラメータ(query string)と呼びます。検索キーワードやトラッキング用のパラメータなど、ページに渡す追加情報を表すためによく使われます。本ツールはこの部分だけを抜き出して、key/valueの一覧として確認できるようにします。

「+」はスペースとして扱われます

本ツールはブラウザ標準のURLSearchParams(application/x-www-form-urlencoded)と同じ意味論でクエリ文字列を解釈します。そのため入力中の+はスペースとしてデコードされます。既存の「URLエンコード・デコード一括変換」ツールは値そのものをencodeURIComponent/decodeURIComponent互換で変換する別のツールであり、そちらでは+はスペースに変換されません。目的が異なるため、この2つのツールでは+の扱いが意図的に異なります。

同一キーが複数存在する場合

foo=1&foo=2のように同じキーが複数回出現する場合、本ツールはグルーピングせず、出現した順番のまま1行ずつ表示します。入力の情報をそのまま保つことを優先しているためです。

「?foo」と「?foo=」の違い

?foo(値を指定していない)と?foo=(空文字列を値として指定している)は、実際の値としてはどちらも空になりますが、本ツールは元のクエリ文字列に=があったかどうかを区別して表示します(「値なし」と「空文字列」のバッジで区別)。

不正なpercent-encodingはブラウザ標準では寛容に解釈されます

崩れた%エンコードや不正なUTF-8バイト列に相当する箇所が含まれていても、本ツールはエラーとして解析を止めません。ブラウザの標準的なクエリ解析と同じく、寛容に(そのまま文字として、または可能な範囲で)解釈した結果を表示したうえで、その旨を非blockingな警告として示します。入力文字列そのものを書き換える自動修正は行いません。

よくある質問

完全なURLとクエリ文字列だけの入力、どちらも解析できますか?

はい。https://から始まる完全なURLも、?から始まる、または?を伴わないクエリ文字列だけの入力も、どちらも同じ欄に貼り付けて解析できます。

「+」はスペースとして扱われますか?

はい。本ツールはブラウザ標準のURLSearchParams(application/x-www-form-urlencoded)と同じ意味論で解釈するため、+はスペースとしてデコードされます。既存の「URLエンコード・デコード一括変換」ツール(encodeURIComponent/decodeURIComponent互換)では+はそのまま+として扱われるため、目的に応じて使い分けてください。

同一キーが複数ある場合、どう表示されますか?

グルーピングせず、出現した順番のまま1行ずつ表示します。foo=1&foo=2という入力であれば、fooという行が2つ、入力順のまま表示されます。

「?foo」と「?foo=」は同じ扱いですか?

値としてはどちらも空になりますが、元のクエリ文字列に「=」があったかどうかを区別して表示します。「?foo」は「値なし」、「?foo=」は「空文字列」というバッジで区別できます。

崩れたpercent-encodingを入力するとエラーになりますか?

いいえ。ブラウザの標準的なクエリ解析と同じく、エラーにはならず寛容に解釈した結果を表示します。ただし、その部分は寛容に解釈された可能性があることを警告として示します。入力内容を自動的に書き換えることはありません。

入力した内容はサーバーへ送信されますか?

いいえ。解析処理はすべてブラウザ内で完結しており、入力内容がサーバーへ送信されることはありません。