URL builder
Assemble a URL piece by piece — scheme, host, port, path, query parameters and fragment — with RFC 3986 percent-encoding for Chinese text, spaces and &=#, duplicate keys, sorting and a parsed comparison table.
Runs in your browserEvery computation happens in your browser — your data never leaves this device.
Final URL
Assembles and encodes locally — no address is ever requested.
Final URL
https://shop.example.com/search/%E5%85%B3%E9%94%AE%E8%AF%8D?q=%E6%97%A0%E7%BA%BF%20%E8%80%B3%E6%9C%BA&tag=audio%26video&page=2&tag=sale%231#results
httpsshop.example.com/search/关键词q = 无线 耳机 | tag = audio&video | page = 2 | tag = sale#1resultsWhat this tool does
- Build search, filter or tracking links: Chinese keywords, spaces, & and # are encoded correctly so parameters stop getting truncated.
- Need the same key twice (tag=a&tag=b)? Write one line per parameter — duplicate keys are never merged.
- Debug a callback URL by filling path, parameters and fragment separately, then read the decoded comparison table to confirm each part.
Example
Input
scheme https; host shop.example.com; path /search/关键词; params q=无线 耳机, tag=audio&video, page=2, tag=sale#1; fragment results
Output
https://shop.example.com/search/%E5%85%B3%E9%94%AE%E8%AF%8D?q=%E6%97%A0%E7%BA%BF%20%E8%80%B3%E6%9C%BA&tag=audio%26video&page=2&tag=sale%231#results
Spaces become %20 rather than +, & becomes %26 and # becomes %23; Chinese characters in the path are encoded byte by byte as UTF-8.
Frequently asked questions
Should a space be %20 or +?
Both decode to a space in a query string, but they mean different things: %20 is the RFC 3986 encoding, while + only means space in application/x-www-form-urlencoded. To avoid servers treating + as a literal plus, this tool always uses %20.
Why must & and = be encoded?
They separate parameters and key/value pairs. An unencoded & inside a value starts a new parameter and an unencoded = splits the value, so they are encoded as %26 and %3D.
Are duplicate keys merged?
No. Each line is one parameter and duplicates are emitted as-is in input (or sorted) order, which is exactly what you need for array-style parameters like tag=a&tag=b.
Does sorting change the meaning?
Query parameter order is usually insignificant, but a few APIs sign the raw string and are order-sensitive. If the link needs a signature, keep the input order and follow the API documentation exactly.
Will the tool request the URL?
No. It only concatenates and encodes strings, validating the format once with the browser URL parser. No network request is made.
Keywords:url builderquery string builderurl encoderpercent encodingrfc 3986query parametersURL 构建URL 拼接查询参数百分号编码中文编码URL 参数编码