cURL Parser
Paste any curl command and instantly see method, URL, query parameters, headers, body, auth, and flags broken down into a clean, copyable view.
cURL Command
supports backslash line continuationParsed Request
Paste a curl command on the left. The structured request will appear here.
About the cURL Parser
The cURL Parser takes a raw curl command — copied from a Chrome / Firefox DevTools "Copy as cURL", a Postman export, or a teammate's
Slack message — and breaks it down into the actual HTTP request being made: method, URL, query
parameters, headers, body, basic auth, cookies, and the various flags curl supports.
Unlike a converter, this tool does not turn the command into Python or JavaScript. It just explains the request. That is the right tool when you are debugging an API call, auditing a third-party integration, or documenting what an existing curl pipeline does.
Every part of parsing happens locally in your browser — your tokens, cookies, and bodies are never sent anywhere — so it is safe to paste curl commands containing API keys or auth headers.
Supported Flags
| Flag | Meaning |
|---|---|
| -X, --request | HTTP method (GET, POST, PUT, DELETE, …) |
| -H, --header | Custom request header |
| -d, --data, --data-raw, --data-binary, --data-urlencode | Request body (auto-formatted if JSON) |
| -F, --form | multipart/form-data field |
| -u, --user | HTTP basic authentication user:password |
| -b, --cookie | Cookie header (split into a table) |
| -A, --user-agent | Override the User-Agent header |
| -e, --referer | Set the Referer header |
| -k, --insecure | Skip TLS certificate verification |
| -L, --location | Follow HTTP redirects |
| --compressed | Request gzip/deflate compression |
| --max-time, --connect-timeout | Timeouts (shown in Flags & Options) |
| -x, --proxy | Proxy server |
How to Use the cURL Parser
- Get a curl command. In Chrome or Firefox DevTools, open the Network tab, right-click any request, and choose Copy → Copy as cURL.
- Paste it into the cURL Command textarea. Multi-line commands with backslash continuation (the format DevTools produces) work as-is.
- The Parsed Request panel updates immediately — method badge, URL, host, path, query parameters, headers, body (auto-formatted if JSON), cookies, basic auth, and any flags found.
- Use the Copy buttons next to URL, headers, and body to grab any one piece for a debugger, REST client, or bug report.
- Click Sample to load a fully-featured example, or Reset to start over.
Frequently Asked Questions
Is my curl command sent to a server?
No. The parser tokenizes and analyses your input entirely in JavaScript inside your browser. Auth headers, bearer tokens, cookies, and request bodies never leave your device.
Does it support multi-line curl commands from Chrome DevTools?
Yes. Backslash + newline continuations are stripped before tokenisation, and both 'single' and "double" quoted arguments are handled
(including escaped characters inside double quotes). The "Copy as cURL" output from Chrome,
Firefox, Safari, and Postman all parse cleanly.
Why does the method change to POST when I add -d?
Real curl behaves the same way: when you pass a body with -d or --data and you have not set an explicit
method, curl defaults to POST. The parser mirrors that to match what curl will actually
send. Pass -X PUT (or any other method) to
override it.
How is the body detected as JSON?
If the body trims to a string starting with { or [ and ending with the matching bracket,
the parser tries to JSON.parse it. On
success it pretty-prints the result with two-space indentation and shows the JSON badge.
What about @file uploads?
curl's -d @body.json and -F file=@/path/to/x.png read from disk at
runtime. The parser keeps the literal @… string in the body or form field — it cannot fetch local files from your browser, so
you'll see the placeholder rather than the file contents.
Which curl flags are not shown explicitly?
Output flags (-o, --output), retry options
(--retry), and TLS certificate paths
(--cacert, --cert, --key) are listed in Other / unrecognised flags rather than parsed in detail, since they do
not change the on-the-wire HTTP request.
Can I share a parsed result?
Use the per-section copy buttons to grab the URL, headers, or body. The tool never stores or transmits your input, so there is no shareable URL — paste the original curl command if you want a teammate to see the same breakdown.