Pega los datos o elige un archivo y selecciona el formato de salida. Revisa los métodos, URL y cabeceras extraídos antes de copiar o descargar el resultado.
Se ejecuta localmente en tu navegadorEl conversor lee texto pegado o un archivo local. Nunca llama a un endpoint API ni importa una colección remota.
| Nombre | Método | URL | Cabeceras |
|---|---|---|---|
| Pega una colección o solicitud para ver una vista previa local. | |||
Revisa el resultado generado antes de guardarlo. Los valores de autenticación permanecen solo en esta pestaña; sustitúyelos por variables seguras antes de compartir.
Cinco entradas —colecciones de Postman, exportaciones de Insomnia, peticiones de Bruno, documentos OpenAPI o Swagger y comandos cURL— y cuatro salidas: OpenAPI 3.0.3, Postman v2.1, cURL y JavaScript Fetch. Las veinte combinaciones se ejecutaron con datos de petición reales mientras se escribía esta página.
La conversión es JavaScript del navegador. Con el panel de red abierto, convertir una colección de 2,2 MB no produjo ninguna petición: no se sube ninguna colección, URL ni credencial, y nunca se llama al endpoint que aparece en la entrada.
Las carpetas de Postman se convierten en nombres «Carpeta / Petición», y los valores de la lista de variables de la propia colección se sustituyen en URL, cabeceras y cuerpos, de modo que un {{baseUrl}} definido en el archivo llega como dirección real. Un marcador que el archivo nunca define se deja tal cual, en lugar de inventarlo.
Los documentos Swagger 2.0 se leen mediante host, basePath y schemes: los parámetros con in: body se convierten en cuerpo de petición con el tipo consumes declarado y los campos in: formData en datos de formulario multipart. De los archivos Bruno se leen el bloque del método, la URL y el bloque de cabeceras; el resto del archivo se ignora.
El analizador acepta -X/--request, -H/--header, -d/--data/--data-raw/--data-binary/--data-urlencode, -F/--form/--form-string, -u/--user, -A/--user-agent, -b/--cookie, -e/--referer y --url, y une las líneas que terminan en barra invertida antes de empezar. -u user:pass pasa a ser una cabecera Authorization: Basic, y -A, -b y -e pasan a User-Agent, Cookie y Referer.
Las subidas sobreviven: -F "file=@photo.png" cambia el método a POST igual que curl y vuelve como campo de archivo en Postman, argumento -F en cURL o entrada FormData en Fetch. Un cuerpo leído del disco sigue siendo una referencia a archivo — -d @payload.json se reescribe como --data @payload.json, mientras que --data-raw @payload.json conserva su significado literal.
Una plantilla de ruta sobrevive a la ida y vuelta: /items/{id} convertido de un documento OpenAPI a otro sigue siendo /items/{id} en lugar de llegar como /items/%7Bid%7D. Una cadena de consulta se convierte en parámetros query con los valores que había en la URL, y una ruta con dos métodos pasa a ser un elemento de ruta con dos operaciones.
Un documento OpenAPI no puede tener dos operaciones para la misma ruta y método, así que los pares repetidos se fusionan y la línea de estado indica cuántos. Las peticiones a hosts distintos conservan su propia entrada de servidor y el primer host queda como servidor del documento.
El OpenAPI generado lleva valores de ejemplo en lugar de esquemas: un cuerpo se convierte en objeto de ejemplo y cada operación recibe una respuesta de relleno 200 Successful response. Es un documento de partida editable, no una especificación validada, y no inventa los modelos de respuesta que no estaban en el origen.
Las cabeceras y los valores de autenticación se copian tal cual, por eso la página pide sustituirlos por variables antes de compartir el resultado. Una conversión fallida borra el resultado anterior en lugar de dejarlo en pantalla, de modo que un documento viejo nunca se confunde con el actual. Las entradas grandes siguen siendo rápidas: 5.000 peticiones en 2,2 MB tardaron unos 65 ms y 100 peticiones en 43 KB unos 10 ms.