cURL Command Converter

Paste a cURL command (from your terminal, DevTools “Copy as cURL” or an API reference) and get a normalised cURL command or ready-to-run code for Node.js fetch, Python requests and PowerShell Invoke-RestMethod — or paste a request as JSON and reverse it into cURL. See also: REST API Client | HTTP Request Builder | All API Tools.
All parsing happens locally in your browser — nothing is uploaded.
cURL → Code Request JSON → cURL
cURL Node.js fetch Python requests PowerShell
Supported cURL subset: -X / -H / -d / --data-raw / --data-urlencode / -F / -u / -A / -b / -c / -L / -k / -m / --url, merged short flags such as -kL or -XPOST, and quoted arguments with escapes. Not supported (reported as an error): reading @file payloads, heredocs, $(...) / environment variables, FTP and other non-HTTP schemes, multiple URLs and -T uploads. File uploads in -F become placeholders in generated code.
Requests are parsed but never sent — use the REST API Client to actually fire a request.
What is cURL?

cURL is a command-line tool for making HTTP (and other protocol) requests from a terminal. A cURL command is a request written as flags: -X sets the method, -H adds a header, -d attaches a body, -u supplies credentials. Converting it to code means mapping each flag onto the same request part expressed in another language’s HTTP library — the request is identical, only the syntax changes. That is why API docs publish copy-paste cURL examples: one line describes the whole request.

Shell quoting matters when you paste a cURL command: quotes lost in copying (or expanded by $ variables) are the most common reason a command parses differently than it ran in the terminal.