Developer Tools
Postman to cURL Converter
Convert a Postman v2.1 collection JSON into runnable curl commands in your browser. POSIX, PowerShell, and CMD output with auth, headers, and body support.
What gets converted
- Methods and URLs
- Every method that Postman writes (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS) carries over with -X. URLs use the raw form when present so that Postman {{variables}} round-trip as written.
- Headers
- Enabled headers from the request and inherited folder headers are emitted with -H. Disabled headers are skipped. Duplicate names keep the last value, matching how Postman sends them.
- Auth
- Basic auth becomes -u user:pass. Bearer tokens are added as an Authorization: Bearer header. API key auth is added as a header or appended to the query string based on the in setting.
- Bodies
- Raw bodies are passed through --data-raw with a Content-Type inferred from the language hint. urlencoded bodies are URL-encoded and sent with the matching Content-Type. formdata bodies emit -F parts with @ paths for files. GraphQL is wrapped in the standard JSON envelope.
How to use
- Drop a .postman_collection.json file on the input area, pick one with the file picker, paste the JSON, or click Load sample to load a runnable example with four representative requests.
- Use the search box and method filter to narrow the list to the request you want, for example only POST requests against api.example.com or only requests under a specific folder.
- Click a row in the request list to preview the resolved method, URL, headers, body type, and auth on the right.
- Pick a shell flavor: POSIX (Bash, Zsh, Git Bash, WSL), Windows PowerShell, or Windows CMD. Quoting and line continuations adjust to match the shell.
- Copy the multi-line command for a runbook, the one-line command for a chat or ticket, or use Copy all to grab every filtered request as a single comment-separated script.
- Substitute Postman {{variables}} with real values before running. Multipart file parts surface their original src paths so you can replace each placeholder with a real path on the machine running curl.
About this tool
Postman to cURL Converter parses a Postman Collection JSON export (schema v2.1, with v2.0 as a best-effort fallback) and turns every request inside it into a runnable curl command. Drop a .postman_collection.json file, paste the JSON, or click Load sample to see a realistic example with a bearer-protected GET, a JSON POST, a urlencoded login, and a multipart upload with basic auth. The converter walks the full item tree, so requests nested inside folders and subfolders are all picked up, with the folder path shown next to each request name. Three shell flavors are supported with the right escaping rules. POSIX (Bash, Zsh, Git Bash, WSL) uses single-quoted arguments with the close-and-reopen trick for embedded apostrophes and backslash line continuations. Windows PowerShell uses double-quoted arguments with backtick escaping for backticks, double quotes, and dollar signs to prevent interpolation, plus backtick line continuations. Windows cmd.exe uses double-quoted arguments with doubled inner quotes and percent escaping, with caret line continuations. Headers, query strings, raw bodies, urlencoded forms, formdata multipart parts, and binary file bodies all round-trip. Disabled headers, disabled query parameters, and disabled body fields are skipped, matching how Postman sends them at runtime. Auth helpers are translated to the curl equivalent: basic auth becomes a -u user:pass pair, bearer tokens are added as an Authorization: Bearer header, and api key auth is added as a header or appended to the query string based on the in setting. Other auth modes (oauth1, oauth2, awsv4, ntlm, edgegrid, hawk, digest) are surfaced as warnings because they require signing logic that depends on the engineer's environment. Postman {{variables}} are left in place inside the URL, headers, and body so the engineer can substitute their own environment values before running the command. Raw JSON bodies are compacted with JSON.parse plus JSON.stringify so the curl line stays readable, and the right Content-Type is added when the request did not set one. GraphQL bodies are wrapped in the standard { query, variables } JSON envelope so the result works against any GraphQL endpoint. A filterable request list with name, URL, and method filters narrows long collections to the request you want, and a Copy all button concatenates every filtered request as a single comment-separated shell script for batch replay. Useful for backend engineers reproducing a captured failure outside Postman, SREs turning a Postman runbook into a real shell script, QA teams replaying a saved session in CI, anyone porting a Postman example into curl-based API documentation, and engineers who have ever needed to share an API call with a teammate who does not have Postman installed. All parsing, decoding, and code generation runs in the browser, so the collection JSON, header values, auth tokens, and request bodies never leave your device.
Free to use. Works in your browser. No signup, no login.
Related tools
You may also like
HAR to cURL Converter
Turn HAR entries into runnable curl commands for Bash, PowerShell, or cmd.
Open tool
DeveloperFetch to cURL Converter
Convert fetch() and axios calls to a copyable curl command for any shell.
Open tool
DevelopercURL to Fetch Converter
Convert curl into fetch, Node fetch, axios, or XHR JavaScript.
Open tool
DevelopercURL to Python Converter
Convert curl into Python requests, http.client, or urllib code.
Open tool
DevelopercURL to Go Converter
Convert curl commands to Go net/http, http.Get and http.Post shortcuts, or Resty client code.
Open tool
DevelopercURL Command Builder
Form-driven builder that emits curl, PowerShell, HTTPie, wget, fetch, and raw HTTP/1.1.
Open tool