HTTP Playground
NewBuild and visualize raw HTTP requests — see exactly what your request looks like on the wire.
This tool shows what the HTTP request would look like on the wire. It does not send any real network requests.
Frequently Asked Questions
Is this making a real HTTP request?
No. It only builds a raw request preview in a textarea. Nothing is sent over the network.
Why does the Host header change when I edit the URL?
The tool parses the URL and fills Host from the URL's host portion. If the URL isn't valid enough for new URL() to parse, it falls back to using your raw input as the path and leaves Host as example.com.
Why doesn't the Content-Length match the number of characters I typed?
It measures body length in UTF-8 bytes with TextEncoder, not JavaScript character count. That's the right behavior for non-ASCII text, where one visible character can take multiple bytes.
Can this really show HTTP/2 or HTTP/3 wire format?
Not literally. It lets you change the version string in the request line, but the output is still a plain text representation. Real HTTP/2 and HTTP/3 are not transmitted as this exact text format on the wire.
When does it include Content-Type and Content-Length?
Only for POST, PUT, and PATCH. For those methods, the selected Content-Type is added if you chose one, and Content-Length is added only when the body is non-empty.