Convertidor de cURL a Código — Gratis online

Pega un comando curl y obtén código equivalente en JavaScript fetch() o Python requests, al instante.

Los resultados se ofrecen solo con fines informativos y pueden contener errores. Verifica la información importante de forma independiente. El uso de esta herramienta es bajo tu propia responsabilidad.

Qué hace esta herramienta

El Convertidor de cURL a Código transforma un comando curl en la misma petición escrita con fetch() de JavaScript o con requests de Python. Pega un comando copiado de la documentación de una API o del panel de red del navegador (Copy as cURL), elige un lenguaje y pulsa Convertir. Se conservan el método, la URL, las cabeceras y el cuerpo de la petición.

El parser entiende -X/--request, -H/--header, -d/--data/--data-raw/--data-binary y -u/--user. Un cuerpo sin método explícito convierte la petición en un POST, igual que hace curl, y -u user:pass se convierte en una cabecera Authorization: Basic. Las líneas continuadas con barra invertida se unen primero, así que los comandos de varias líneas se pegan sin problemas. Las demás opciones, como --compressed o -s, se ignoran.

Cuándo usarla

  • Convertir un ejemplo de la documentación de una API en código para un frontend o un script de Node.
  • Reproducir en un test de Python una petición capturada en las DevTools del navegador.
  • Pasar un experimento rápido de la terminal a una tarea programada o a un notebook.
  • Explicarle a un compañero qué envía realmente un comando curl largo de una sola línea.

Ejemplo práctico

Entrada

curl -X POST https://api.example.com/users -H "Content-Type: application/json" -d '{"name":"Ana"}'

Salida

fetch("https://api.example.com/users", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: "{\"name\":\"Ana\"}"
})
  .then(res => res.json())
  .then(data => console.log(data))
  .catch(err => console.error(err));

Preguntas sobre esta herramienta

¿Se envía la petición al convertirla?

No. El comando solo se analiza y se reescribe como código; nunca se llama a la URL que contiene. Aun así, quita los tokens reales de los comandos copiados, porque acaban en tu portapapeles y en tu código.

¿Por qué el cuerpo es una cadena y no un objeto?

curl envía el valor de -d tal cual está escrito, y el código generado hace lo mismo. Si prefieres construir el cuerpo a partir de un objeto, sustitúyelo por JSON.stringify({...}) en JavaScript o por json= en Python.

¿Y las subidas de archivos con -F?

Las opciones de formulario multipart (-F) no se convierten. Construye esas peticiones con FormData en JavaScript o con el argumento files= en Python.

¿Qué biblioteca de Python usa el resultado?

Usa requests, la biblioteca HTTP más habitual en Python. Instálala con pip install requests. El script generado imprime el código de estado y la respuesta JSON.

¿Esta herramienta es gratuita?

Sí, es gratis. Sin registro ni correo electrónico. Obtén el resultado en esta página.

¿Cómo obtengo el resultado?

Usa la herramienta en esta página. El resultado aparece aquí, sin envío por correo electrónico.