Postman to OpenAPI Converter

Converts a Postman Collection v2.x into an OpenAPI 3.0.3 document: flattens nested folders into paths (the top-level folder becomes a tag), maps :param/{{param}} segments and query/header entries to OpenAPI parameters, and lifts any saved example responses or raw JSON bodies into the generated spec. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-25

Overview

Introduction

A team's API documentation sometimes lives entirely as a Postman collection, which works fine inside Postman but isn't directly usable by OpenAPI-based tools like code generators or doc sites.

This tool converts that collection into an OpenAPI 3.0.3 document covering the fields most collections actually rely on, entirely in your browser.

What Is Postman to OpenAPI Converter?

A one-direction converter from Postman Collection v2.x JSON to OpenAPI 3.0.3 JSON, built on the same shared conversion core as its OpenAPI-to-Postman counterpart.

It's part of this site's API Tools collection and runs entirely client-side.

How Postman to OpenAPI Converter Works

The collection's item tree is recursively flattened into a list of requests, each carrying its path segments, method, query/header entries, body, and any saved example responses, along with the name of its top-level folder.

Each flattened request becomes one OpenAPI operation: :param and {{param}} path segments become {param}, query and header entries become parameters, and a JSON body (or saved response) becomes a requestBody or response example with a best-effort inferred schema.

When To Use Postman to OpenAPI Converter

Use it when you need to feed an existing Postman collection into OpenAPI-based tooling, a code generator, a docs site, or a spec linter, that expects OpenAPI rather than Postman's own format.

It's also a fast way to get a first-draft OpenAPI spec going from real, already-working requests instead of writing one from scratch.

Often used alongside OpenAPI to Postman Converter.

Features

Advantages

  • Groups operations by folder into OpenAPI tags automatically, preserving the collection's organizational structure.
  • Pulls saved example responses (not just requests) into the generated spec when they're present.

Limitations

  • Pre-request/test scripts, OAuth2 flow details, and non-JSON or multi-content-type bodies aren't converted.
  • Inferred schemas are shallow (based on the shape of one example payload), not full JSON Schema derived from multiple examples or explicit type annotations.

Examples

Converting a path with a variable

Input

Postman request GET {{baseUrl}}/users/:id

Output

"paths": {"/{baseUrl}/users/{id}": {"get": {"parameters": [{"name": "id", "in": "path", "required": true, ...}]}}}

The :id path variable becomes an OpenAPI {id} path parameter, declared as required.

Converting a request in a nested folder

Input

"Users" folder > "Admin" folder > "Delete user" request

Output

"tags": ["Users"]

The top-level folder name ("Users") becomes the operation's tag, regardless of how many folders deep the request actually sits.

Best Practices & Notes

Best Practices

  • Run the OpenAPI Validator on the output afterward to catch anything the conversion couldn't infer, like a missing operationId collision.
  • Fill in real response schemas manually for endpoints that had no saved example responses in the original collection.
  • Keep folder names in the source collection meaningful, since they become the tags client generators and docs sites group endpoints by.

Developer Notes

Operation IDs are generated by slugifying each request's name and de-duplicating collisions with a numeric suffix, which keeps the output deterministic across re-runs of the same collection as long as request names don't change.

Postman to OpenAPI Converter Use Cases

  • Feeding an existing Postman collection into an OpenAPI-based code generator or documentation tool
  • Producing a first-draft OpenAPI spec from a set of already-working, tested requests
  • Migrating a team's API reference from Postman-only to an OpenAPI-based workflow

Common Mistakes

  • Expecting OAuth2 auth configuration or test scripts to carry over; they're intentionally out of scope for this conversion.
  • Treating the generated response examples as a complete API contract when many operations may only have a generic 200 response if no example was saved.

Tips

  • Add saved example responses to your Postman requests before converting; they become real response examples in the OpenAPI output instead of generic placeholders.

References

Frequently Asked Questions