piapia123
en

Postman Collection Converter

Web

Everything runs locally in your browser — nothing is uploaded

Input
Drop a file here to load its contents
Output

Three directions around one shared request list: a list of URLs becomes a Postman collection (one address per line, optionally prefixed with the method, and Postman `{{baseUrl}}` variables are allowed); request JSON becomes a collection (API lists usually live in your own docs or as constants in code, shaped as a set of requests rather than nested folders); and a collection flattens into request JSON, which is the only sane way to see what requests someone else collection actually contains and which hosts they hit. The last two are exact inverses — the JSON you export can be fed straight back in, so you can verify any conversion instead of trusting it.

Features

  • Three directions: URL list to collection, request JSON to collection, collection to flat request JSON
  • URL lists accept one address per line, or "METHOD URL" to set the request method
  • Postman {{variable}} syntax is accepted, so a variable-based API skeleton can be built in one pass
  • Collection to JSON flattens nested folders recursively — without that, a grouped collection would export as nothing
  • Reversible: the exported JSON goes straight back in as input
  • Request bodies are written as raw text with a Content-Type header, ready to send once imported
  • Recognises GET, POST, PUT, PATCH, DELETE, HEAD and OPTIONS, and falls back to GET rather than emitting a method Postman cannot send
  • Non-JSON bodies (XML, form text) are kept verbatim instead of being discarded
  • Up to 200 requests at a time
  • Everything runs locally in the browser; URLs and tokens are never uploaded

How to use

  1. Pick a direction
  2. Paste the URL list, the request JSON or the Postman collection
  3. Copy the result: save a collection as .json and import it in Postman via File → Import

FAQ

Which three directions exactly?
URL list to collection, request JSON to collection, and collection to request JSON. It is not a pairwise converter because the two latter directions share one request-list format: what the collection exports is exactly what the JSON-to-collection side consumes. That way you can always validate a conversion by exporting and re-importing it, rather than taking it on faith.
Why is every imported body raw?
Because Postman form-data and x-www-form-urlencoded cannot be expressed reliably in plain text — the former involves file fields, which JSON has no way to represent. Nearly every real request body is JSON anyway, so bodies are generated as raw, and you can switch the mode in Postman when you need something else. To make it work out of the box, give the body as an object (the tool formats it and adds the Content-Type) or hand-write the raw string.
Why are the folders gone from the exported list?
Because the whole point of this direction is seeing which requests exist, and a folder is organisation, not a request. Structurally a folder is an item that contains items, nested to any depth — without flattening, a grouped collection would export as an empty list, which reads as "this collection has no requests". That is far worse than losing a grouping level.
What happens to {{baseUrl}} variables?
They are left untouched in the address. In Postman a variable is resolved by the collection own variable table or the active environment, and substituting a value here would corrupt the collection. The URL-list direction accepts the same syntax, so you can build a variable-based API skeleton directly.
Are my URLs and tokens uploaded?
No. All three directions run in browser memory; the page makes no requests and works offline. Request headers often carry an Authorization token, and none of it leaves your device.

Related tools