Building a URL from its parts
Fill in the protocol, host, and whichever parts you need — port, path, query parameters, fragment — and this assembles a correct URL, letting the browser's own URL implementation handle encoding rather than hand-rolling it. A space in the path becomes %20, a query value gets percent-encoded automatically, and each query parameter row you add is a separate key/value pair, so adding the same key twice produces a repeated-key query string (tags=a&tags=b) instead of one overwriting the other.
This is the inverse of URL Parser, which takes a URL apart instead of putting one together.
FAQ
Why did my query value get a + instead of %20?
Query strings conventionally encode spaces as + — that's standard application/x-www-form-urlencoded behavior and every URL parser, including Query String Parser, decodes it back to a space correctly.
Why does an empty-key row get dropped?
A query parameter needs a key to mean anything — rows with a blank key are skipped rather than producing a stray =value in the output.
Can I set a non-standard port?
Yes, any valid port number (1–65535). An out-of-range or non-numeric port is rejected with an error instead of silently producing a broken URL.