クエリ文字列ビルダー
key/value 行を追加し、URL エンコード済みのクエリ文字列を生成。配列(a[]=1)や同名キーの繰り返しに対応。
上に入力すると結果が表示されます。
用途
クエリ文字列は ?、=、& でつないだ key/value のリストにすぎませんが、手書きで正しく作るのは面倒です。スペースは %20(場合によっては +)に、各値は percent-encode され、配列にも 3 通り以上の慣習があります。本ツールは入力した key と value、必要なら「multi」をチェックすると、? の後にそのまま貼り付けられる正しくエンコード済みの文字列を生成します。
使うべきタイミング
- スペース、アクセント、記号を含む複数パラメータの API URL を作成するとき。
- UTM タグの追跡用リンクをエンコードミスなく組み立てたいとき。
- メール、チャット、SNS を経由するディープリンクや共有 URL を作るとき。
- API がどの配列記法を期待するか —
a[]=1、a=1&a=2、a=1,2— を試して確認したいとき。
よくある注意点
- 配列の慣習は標準化されていません。 PHP や Rails は
a[]=1&a[]=2、Python のrequestsはデフォルトでa=1&a=2を繰り返し、ASP.NET はカンマ区切りが多いです。API の期待形式に合わせてください。 +と%20。application/x-www-form-urlencodedはスペースに+、URI のクエリは厳密には%20です。両方受け付けるサーバーが多いものの、API のドキュメントに従うのが無難です。- 空値とキー欠落は別物。
?a=は「a は空文字」、a自体を省略するのは「値が無い」。両者を区別する API もあります。 - 予約文字の取り扱い。 値内の
=、&、#、?はエンコードされます。生のままだとパラメータやクエリ全体が打ち切られる原因になります。 - 順序が重要なことがあります。 S3、Stripe Webhook、OAuth 1.0 などの署名付き URL は署名前にパラメータの並び順が決まっています。本ツールは入力行の順序を保持します。
- 長さ制限。 ブラウザやサーバーはおおむね 2〜8 KB でクエリを切ります。JSON をクエリパラメータに詰め込むのは設計上のサインです。
- クエリに秘密情報を入れないこと。 サーバーログ、ブラウザ履歴、Referer ヘッダーに残ります。リクエストボディや Authorization ヘッダーを使ってください。