Skip to content
100% local

Postman collection to curl

Turn an exported Postman collection into ready-to-run curl commands.

Input
Output

Postman collection to curl

Paste the JSON you get from exporting a Postman collection and this tool turns every request inside it into a curl command, complete with method, headers, query parameters and body. It walks into folders too, so a collection with nested groups of requests still produces one command per request, in order, with the folder structure preserved for filtering.

Turn on "Replace {{variables}}" to resolve placeholders like {{baseUrl}} or {{token}} using the values stored in the collection itself, or type your own under "Environment values" (one key=value pair per line, or comma-separated) to override them without editing the export. "Keep authorization headers" controls whether Authorization headers and auth blocks (bearer tokens, basic auth, API keys) survive into the generated commands — turn it off before sharing a command that shouldn't carry your credentials. "Filter by folder or name" narrows the output to requests whose name or folder matches what you type, which is useful for pulling one endpoint out of a large collection.

Long commands can be hard to read on one line, so "Wrap long commands with \" breaks each header, body flag and parameter onto its own line with a trailing backslash, the way you'd format a command for a shell script. Speaking of which, "Output as shell script" adds a #!/usr/bin/env bash header so the whole result can be saved and run directly, and "Add --silent and --fail" appends the two flags that make curl quiet on success and non-zero on an HTTP error, handy for scripts that check the exit code.

Everything runs locally in your browser — the collection you paste, including any tokens or credentials it contains, is never uploaded anywhere. Copy the result, download it as a .txt file, or send it straight to another tool's input to keep working on it.

FAQ

Which Postman collection format does this support?
Collection v2.1 exports, the current default when you export from Postman. Requests inside folders (nested groups) are supported, and each request becomes its own curl command.
What happens to {{variables}} in the collection?
By default they are replaced using the values stored in the collection's own variable list. Add your own values under "Environment values" to override or supply ones that only exist in a Postman environment file, or turn variable replacement off to leave the placeholders as-is.
Does it handle authorization?
Yes. Bearer tokens and API keys become an Authorization or custom header, basic auth becomes a -u user:pass flag, and "Keep authorization headers" lets you strip all of that out before sharing a command.
What request bodies are supported?
Raw bodies (JSON, text, or otherwise) become --data-raw, URL-encoded form fields become --data-urlencode, multipart form-data fields become -F, and GraphQL bodies are sent as a JSON payload.
Is my collection uploaded anywhere?
No. Parsing and conversion run entirely in your browser — the collection, and anything sensitive inside it, never leaves your device.