BV
All tools
developer

cURL to n8n Node Converter

Convert a cURL command into an n8n HTTP Request node you can paste straight onto the canvas, with JavaScript fetch and Python requests equivalents generated at the same time. Runs entirely in your browser.

Muhammad Bilal
Muhammad Bilal Virk
4 min read
cURL to n8n converter
Method
POST
Headers
2
Query parameters
1
This command carries credentials in Authorization. Do not paste the generated node into a shared workflow with the key inline — move it into an n8n credential and reference it from the node instead. Workflow JSON gets committed to Git far more often than people expect.
Paste onto an n8n canvas with Ctrl+V
{
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.example.com/v1/contacts",
        "authentication": "none",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "locationId",
              "value": "abc123"
            }
          ]
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bear•••••••• sk_l••••••••"
            }
          ]
        },
        "sendBody": true,
        "contentType": "json",
        "specifyBody": "json",
        "jsonBody": "{\"firstName\":\"Sarah\",\"email\":\"sarah@example.com\",\"tags\":[\"inbound\"]}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        0,
        0
      ],
      "id": "00000000-0000-4000-8000-000000000000",
      "name": "Create Contact"
    }
  ],
  "connections": {},
  "pinData": {}
}
n8n accepts pasted node JSON directly onto the canvas — copy the block above, click an empty part of your workflow and press Ctrl+V. The node arrives fully configured. Set the credential afterwards and delete the inline authorization header.

Paste a cURL command and get back an n8n HTTP Request node you can paste directly onto the canvas, along with fetch and Python equivalents. The parser handles quoted headers, multi-line commands, JSON bodies, basic auth and query strings. Everything runs in your browser.

What this tool does

The converter takes a cURL command — the kind you copy out of Chrome DevTools with Copy as cURL, or paste from an API vendor's documentation — and turns it into three things: a JSON node you can paste straight onto an n8n canvas, a JavaScript fetch() call, and a Python requests snippet. It parses flags properly rather than pattern-matching, so quoted headers, multi-line commands with trailing backslashes, --data-raw bodies, basic auth and query strings all survive the trip.

Everything runs in your browser. No command, header or bearer token is ever sent to a server.

A worked example

Paste a POST that sends JSON with a bearer token and a content-type header. What comes back is an n8n-nodes-base.httpRequest node at typeVersion 4.2 with the method set to POST, the URL populated, sendHeaders and sendBody switched on, both headers mapped into headerParameters, and the JSON body placed in jsonBody with specifyBody set to json. Copy it, click an empty spot on your n8n canvas, and press Ctrl+V. The node appears ready to connect.

How to use it

  1. Copy the cURL command. In Chrome DevTools, right-click the request in the Network tab and choose Copy → Copy as cURL.
  2. Paste it into the input box.
  3. Pick the output you want: n8n node, fetch, or Python.
  4. Copy the result onto your canvas or into your editor.

What each cURL flag maps to

cURL flag n8n equivalent
-X, --request Node method
-H, --header headerParameters entries, sendHeaders: true
-d, --data, --data-raw jsonBody or bodyParameters
-u, --user Basic auth header
--url Node url
-k, --insecure allowUnauthorizedCerts
-F, --form Multipart body — set up manually

Where people go wrong

Leaving the live key in the node. A pasted cURL usually carries a real bearer token. Move it into an n8n credential or an expression before you save the workflow, otherwise the secret ends up in your workflow JSON and in every export you share. The n8n JSON sanitiser will strip credentials out of an export if you have already shipped one.

Assuming the body is JSON when it is not. Plenty of APIs still expect application/x-www-form-urlencoded. If the original command used -d with key=value&key2=value2 and no JSON content type, switch the node's body type to form-urlencoded rather than forcing JSON.

Copying a browser request wholesale. A Copy as cURL from DevTools drags along cookies, client hint headers and referrers that the API neither needs nor wants. Delete everything that is not authentication and content type.

Ignoring the node's own reliability settings. The converter maps the request, not your error strategy. Open the node's settings tab and turn on Retry On Fail for anything hitting a third-party API. HTTP semantics for which methods are safe to retry are set out in RFC 9110 — idempotent methods such as GET and PUT are safe to repeat, POST usually is not.

FAQ

Does this send my cURL command anywhere?

No. The parser runs in your browser as JavaScript. Nothing is uploaded, logged or stored, which is why it is safe to paste a command that still carries a live key — though you should still rotate that key if the command has been shared elsewhere.

Which n8n node version does it produce?

n8n-nodes-base.httpRequest at typeVersion 4.2, which is the current HTTP Request node. Older instances may open it in compatibility mode; the fields still map across.

Can I paste the output straight onto the canvas?

Yes. n8n reads workflow JSON from the clipboard. Copy the output, click empty canvas space, press Ctrl+V (Cmd+V on macOS) and the node appears.

Does it handle multipart form uploads?

Not fully. A -F upload needs a binary property in n8n, and which property depends on how the file arrives in your workflow, so the converter flags it rather than guessing.

Why does the query string get split out of the URL?

Because n8n's HTTP Request node has a dedicated query parameters section, and putting values there means you can drop expressions into individual parameters later without rebuilding the whole URL.

Next steps

If you are wiring your first workflow, the walkthrough in How to Build an n8n Workflow covers the canvas basics, and the n8n Webhook Tutorial covers the other half — receiving requests rather than making them. For the official reference on deployment options and plan differences, see the n8n deployment guide and the n8n pricing page.

Need the workflow built rather than the node converted? Book a discovery call.

Muhammad Bilal
Muhammad Bilal Virk
AI automation engineer — building agents, workflows, and RPA that remove repetitive work.
Share
Newsletter

One email, when I ship something worth reading.

No cadence, no filler. Unsubscribe any time.

Free consultation

Want this built against your real numbers?

A 30-minute call to scope the workflow, agent, or automation you actually need.

Book a free consultation

More developer tools

All tools
Next step

Have a workflow that's burning hours every week?

Bring me one real bottleneck. I'll tell you whether it's worth automating, and what it would take.

Book 30 Minutes Call