HTTP Request Builder

Compose a well-formed raw HTTP/1.1 request from a method, URL, headers, and body. Nothing is sent — copy the wire text for netcat, openssl s_client, or learning. Runs in your browser.

Raw HTTP request

About this tool

HTTP Request Builder composes a well-formed raw HTTP/1.1 request message from a method, URL, headers, and body — the exact bytes you'd put on the wire. Nothing is sent; you get the text to copy.

Everything runs locally in your browser via WebAssembly — nothing is uploaded and no request is made.

Handy for

To actually send a request and see the response, use the HTTP Request tool instead.

FAQ

Does this actually fire the request at the server?

No — it only assembles the raw HTTP/1.1 message text; no network call is ever made. Copy the output into nc, openssl s_client, or a test fixture to use it. If you want to send a request and inspect the response, that's the separate HTTP Request tool.

What if I add my own Host or Content-Length header?

Yours wins. The tool only injects Host (from the URL) when your header lines don't already include one, and only adds Content-Length when you provided a body without one — it never emits a duplicate or overrides your value.

How is Content-Length computed for the body?

It's the body's size in bytes (UTF-8), not characters — so {"a":1} yields Content-Length: 7, and multi-byte characters count as more than one. It's added only when the body field is non-empty.

When does the Host header include a port?

Only when the URL carries an explicit non-default port — http://localhost:8080/ produces Host: localhost:8080, while https://example.com/ gives just Host: example.com because the scheme's default port is implied.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool http-request-builder "https://api.example.com/v1/items?limit=10"

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/http-request-builder/?url=https%3A%2F%2Fapi.example.com%2Fv1%2Fitems%3Flimit%3D10&method=GET&headers=Accept%3A%20application%2Fjson%0AAuthorization%3A%20Bearer%20TOKEN&body=%7B%22name%22%3A%20%22widget%22%7D

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.