Convertidor de cURL: cURL a fetch, Python, Axios y más

Pega un comando curl, por ejemplo uno copiado de las DevTools de tu navegador, y obtén código listo para usar en 8 lenguajes. Convierte cabeceras, cuerpos JSON, formularios, subida de archivos, autenticación y cookies.

Funciona en tu navegadorSin registroNo se sube nada

Convertir a
JavaScript fetch

    

    Cómo usar: Convertidor de cURL

    1. Copia una petición como cURL: en las DevTools de Chrome o Firefox, haz clic derecho sobre una petición en la pestaña Network → Copy → Copy as cURL.
    2. Pégala en el cuadro de entrada. Se admiten comandos multilínea con \, continuaciones ^ de Windows y cadenas $'…'.
    3. Elige el destino: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP o HTTPie.
    4. Lee las advertencias bajo la salida. Indican las opciones que no tienen equivalente en el lenguaje de destino.
    5. Copia el código o descárgalo como archivo.

    ¿Por qué convertir comandos curl a código?

    curl es el idioma común de HTTP. La documentación de las APIs muestra ejemplos en curl, las DevTools del navegador exportan peticiones como curl y los equipos de soporte envían reproducciones en curl. Cuando quieres esa petición dentro de una aplicación tienes que reescribirla a mano: pasar cada -H a un objeto de cabeceras, convertir -d en un cuerpo, transformar -u en basic auth y recordar que -G mueve los datos a la query string. Este convertidor hace esa traducción por ti y genera código que puedes pegar directamente en un proyecto.

    Opciones de curl admitidas

    OpciónSe convierte en
    -X, -I, -GMétodo HTTP (se deduce POST cuando hay cuerpo)
    -H, -A, -e, -bCabeceras, User-Agent, Referer y cookies
    -d, --data-raw, --data-binary, --data-urlencode, --jsonCuerpo de la petición: objetos JSON, campos de formulario o texto sin formato
    -FDatos de formulario multipart, incluidas subidas @file
    -u, --oauth2-bearerBasic auth o un token Bearer
    -k, -L, -m, -x, --compressedVerificación TLS, redirecciones, tiempo de espera, proxy y compresión

    Los cuerpos JSON se convierten en objetos reales

    Cuando la petición envía JSON (una cabecera Content-Type: application/json, --json o un cuerpo que se puede analizar como JSON), el convertidor genera estructuras de datos nativas en lugar de una cadena escapada: JSON.stringify({...}) para fetch, un objeto plano para Axios y json= con un dict de Python (True, False, None) para requests y httpx. Así es fácil editar el payload y rellenarlo con variables.

    Diferencias a tener en cuenta

    Los navegadores no pueden desactivar la comprobación de certificados ni enrutar una sola petición a través de un proxy, así que -k y -x solo aparecen como comentarios en el código fetch para navegador. curl no sigue redirecciones salvo que pases -L, mientras que fetch, requests y Go las siguen por defecto. Un cuerpo enviado con -d sin Content-Type se codifica como formulario en curl; si parece JSON, el convertidor lo envía como JSON y te lo indica en una advertencia.

    Preguntas frecuentes

    ¿Se envía mi comando curl a un servidor?
    No. El análisis y la generación de código se ejecutan íntegramente en tu navegador. Los comandos copiados de las DevTools suelen contener cookies y tokens, así que no se sube ni se guarda nada.
    ¿Cómo copio una petición como cURL desde Chrome?
    Abre las DevTools (F12), ve a la pestaña Network, haz clic derecho sobre la petición y elige Copy → Copy as cURL (bash). La variante cmd para Windows también funciona aquí.
    ¿Gestiona la subida de archivos?
    Sí. -F name=@file se convierte en FormData en JavaScript, en un dict files= en Python, en mime/multipart en Go y en CURLFile en PHP. -d @file y -T file leen el cuerpo de la petición desde un archivo.
    ¿Qué pasa con las opciones que el convertidor no conoce?
    Se listan como advertencias bajo la salida para que nada se pierda sin avisar. Las opciones que solo afectan a la salida, como -s, -v o -o, se ignoran porque no cambian la petición.
    ¿Debo usar requests o httpx en Python?
    requests es la opción por defecto de toda la vida para scripts síncronos. httpx tiene una API casi idéntica, añade HTTP/2 y soporte async, y no sigue redirecciones salvo que se lo pidas, lo que se parece más a curl.

    Herramientas relacionadas