Convert cURL to Express
Paste any curl command and get Node.js code you can drop into a Express project. Node.js server routes calling third-party APIs with native fetch. Runs entirely client-side.
Quick answer
To convert a cURL command to Node.js, paste it into the Toolpaper workbench below. It parses the command in your browser and emits idiomatic Node.js code — headers, query string, request body, authentication (Bearer, Basic, API key), and cookies are all wired up automatically. No data is uploaded; conversion is fully client-side.
InputcURL command
MethodPOST·Headers1·Body40 B· Chars 132
OutputJavaScript · Node fetch(Node 18+)
// Node 18+ has global fetch
const response = await fetch("https://api.example.com/users", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: "{\"name\":\"Ada\",\"email\":\"ada@example.com\"}",
redirect: "manual"
});
const data = await response.json();Inspect
Example
A representative curl command for this scenario. Paste your own above to convert an exact match.
curl -X POST https://api.example.com/users \
-H "Content-Type: application/json" \
-d '{"name":"Ada","email":"ada@example.com"}'Implementation notes
- Generated code uses the native fetch primitive that fits Express's idioms — you can drop it into a controller, action, or service.
- Errors and timeouts propagate naturally so you can wrap the call in Express's middleware and observability layer.
- Environment variables replace inline secrets when you run the output through the Clean panel first.
Common mistakes
- Blocking a request-scoped Express handler on a slow upstream — always set a timeout in the generated call.
- Recreating an HTTP client per request instead of reusing a module-level one — kills keep-alive performance.
- Leaking request-scoped headers (auth, tracing) to upstream calls — the generator only forwards what you paste.
Common questions
- Which Node.js library does the Express output use?
- native fetch, because it's the idiomatic choice inside Express. Switch libraries in the language dropdown any time.
- Can I use this in a serverless function?
- Yes. The generated code is a plain Node.js function; deploy it on Express's serverless target of choice.
- Is any data sent to Toolpaper's servers?
- No. Parsing and code generation run entirely in your browser.
Full Node.js reference on the cURL to Node.js hub, or open the main converter for all 18 targets.