cURL to Code
Convert cURL commands to JavaScript, Python, or PHP code.
Last updated: August 2026
Was this tool helpful?
Turning a curl command into code
This converter reads a curl command, the kind you copy straight out of browser dev tools or API docs, and rewrites it as equivalent code in JavaScript, Python, or PHP. It parses the method, URL, headers, and body, then maps them onto the target language's HTTP client so you can drop a working request into your project instead of translating flags by hand.
When you reach for it
Handy when an API vendor only documents examples as curl, when you grabbed a request via Chrome's "Copy as cURL" and want it in your codebase, or when porting a shell script into an application. It saves you from misreading which flag sets a header versus a form field.
Example
# curl
curl -X POST https://api.example.com/users \
-H "Content-Type: application/json" \
-d '{"name":"Ada"}'
// JavaScript (fetch)
await fetch('https://api.example.com/users', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ name: 'Ada' }),
})Common pitfalls
The subtle one is how curl chooses a method. Adding -d implicitly switches the request to POST unless you also pass -X, and it sets a form content type by default, so a generated request can silently differ from what you expected if you assumed GET. Quoting is the other hazard: shell single and double quotes behave differently, and a JSON body with nested quotes copied from one shell may not survive in another. Finally, --data strips newlines while --data-binary preserves them, which matters for signed payloads.
FAQ
Why did my GET become a POST? The -d flag sets the body and flips the method to POST unless you override it with -X GET.
Are cookies and auth headers included? Yes, if present in the command. Treat the output as sensitive, since it may embed a live token.
Does it handle multipart file uploads? Simple -F fields convert cleanly, but complex multipart bodies may need manual tuning in the target client.