Tested tool guide
Tested browser tools
Checked August 16, 2026
What Postman to OpenAPI Converter does, with a checked example
This tool reads a Postman collection JSON file, the export you download from the Postman app, and rewrites it as an OpenAPI 3.x document. Each request in the collection becomes a path operation: method, URL path, query parameters, headers, and request body are mapped onto OpenAPI structures, and Postman's colon-style path variables (:id) become OpenAPI brace-style path parameters ({id}). The surprise is that the output is a skeleton, not a finished contract: Postman collections usually store no response data, so every operation receives a generic 200 response, and schemas are inferred from single example bodies.
Worked example
A concrete input and expected output from the current implementation.
Input
{
"info": {
"name": "Pets API",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Get pet by id",
"request": {
"method": "GET",
"url": {
"raw": "https://api.example.com/pets/:petId?verbose=true",
"path": ["pets", ":petId"],
"query": [{ "key": "verbose", "value": "true" }],
"variable": [{ "key": "petId", "value": "1" }]
}
}
}
]
} ->
Expected output
{
"openapi": "3.0.3",
"info": {
"title": "Pets API",
"version": "1.0.0"
},
"paths": {
"/pets/{petId}": {
"get": {
"parameters": [
{ "name": "petId", "in": "path", "required": true, "schema": { "type": "string" } },
{ "name": "verbose", "in": "query", "schema": { "type": "string" } }
],
"responses": {
"200": { "description": "Successful response" }
}
}
}
}
} The collection name becomes info.title, the request method picks the get verb, and the :petId path segment is rewritten as the {petId} path parameter, which is required by OpenAPI. Path and query values map to string schemas because Postman does not type variables, and version 1.0.0 plus a generic 200 response are defaults, since the collection carries no version or response data.