cURL Command Builder
Builds copy-ready cURL commands with headers, auth, and a body, quoted for your shell.
Send a POST, PUT, PATCH, DELETE, or any other method with this HTTP request tester. Set query parameters, headers, and a JSON, form, or raw body, then read the reply and copy the same request as a cURL command.
Sends
Tick the box to show you are not a robot, then press Send.
Headers such as Authorization pass through our server to the address you enter. They are not stored. Host, Content-Length, Connection, Proxy-*, and User-Agent cannot be set.
No body will be sent with this request.
Up to 100 KB. JSON is checked before it is sent. Form fields are URL-encoded.
Tick the robot check and press Send. The status, body, headers, and any redirects land in this pane.
Waiting for the server to answer. Public endpoints usually reply within a second.
Final URL
Location
| Name | Value |
|---|
No redirects on this response. The first reply was the final one.
The command repeats the request from your own computer, with your own User-Agent.
The request is built on our server from the parts you enter and sent with a User-Agent that names Utilza, so the receiving side can tell where it came from. Host, Content-Length, Transfer-Encoding, Connection, and Proxy headers are set by the server and cannot be overridden, and a header value with a line break is refused. That stops one request from being turned into two.
Redirects follow browser rules. After a 303, or a 301 or 302 that answered a POST, the next request is a GET without a body. A 307 or 308 repeats the original method and body. When a redirect moves to a different host, Authorization and Cookie headers are not passed on, and the result says so.
The cURL command is written in your browser by the same code as the cURL Command Builder, quoted for the shell you pick.
The form opens with a POST to https://jsonplaceholder.typicode.com/posts and the JSON body {"title":"Test","completed":false}. That service echoes the post back with status 201 and a new id, without saving anything, which makes it a safe first target.
The matching Bash command is:
curl 'https://jsonplaceholder.typicode.com/posts' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"title":"Test","completed":false}' \
-LSwitching the method to GET drops the body, and a note in the result says it was left out.
Headers that control the connection, such as Host or Content-Length, are set by our server, and the User-Agent always names Utilza. A value with a line break is also refused.
No. The URL, headers, and body are used for that one request and are not written to a database or a log.
The server answered with a redirect such as 301, 302, or 303, and browsers switch to GET when they follow it. Untick Follow redirects to see the first answer, or send the request to the final address.
Yes, if the receiving endpoint is public. Paste the payload your provider sends as a JSON body, add its signature header, and compare the response with what your handler should return.
Often used together with HTTP Request Tester.
Builds copy-ready cURL commands with headers, auth, and a body, quoted for your shell.
GET any public API endpoint and read its JSON as a tree, with status, time, and headers.
Header table with meanings, expanded Cache-Control, cookies, CSP, and Accept values, plus problem lines.