Red

Conversor de cURL

Pega un comando cURL y léelo de vuelta como código funcional en fetch, axios, Python requests, Go, Rust, PHP, Java y alrededor de otros treinta clientes y lenguajes. El método, la URL completa con su query string, las cabeceras, las cookies, la autenticación básica y el cuerpo de la petición —JSON, formulario o crudo— se trasladan tal cual, y luego se muestran con resaltado de sintaxis por lenguaje y copia en un clic. El motor de conversión se carga bajo demanda con una barra de progreso y, una vez listo, todo se ejecuta en el navegador: el comando y los tokens que lleve nunca salen de esta página.

  • Convierte un comando cURL a fetch, axios, Python, Go, Rust, PHP, Java y más de 30 destinos
  • El método, la URL, la query string, las cabeceras, las cookies, la autenticación básica y el cuerpo sobreviven al viaje de ida y vuelta
  • Resaltado de sintaxis por lenguaje con copia en un clic directa a tu editor
  • El motor se carga bajo demanda y luego se ejecuta por completo en el navegador: los comandos y los tokens se quedan en esta página
tools/Conversor de cURL
8%
Cargando el motor de conversión
8%
El analizador de cURL se descarga una sola vez y se almacena en caché durante tu visita.
Ejemplos

Resumen

Pega un comando cURL copiado de las DevTools, de la documentación de una API o de un compañero, y léelo de vuelta como código en el lenguaje que tu proyecto usa de verdad, sin volver a teclear una sola cabecera.

  1. 01

    Un comando, más de treinta destinos

    fetch del navegador, jQuery $.ajax y XHR; fetch de Node, axios, got y ky; requests y http.client de Python; Go, Rust, C#, Swift, Dart y Objective-C; PHP cURL y Guzzle; Java OkHttp y Kotlin; además de Ruby, Elixir, R, MATLAB, Perl, Lua, PowerShell y Ansible, todos listos para pegar.

  2. 02

    La petición entera se traslada

    El método (-X), la URL completa con su query string, cada cabecera -H, las cookies de -b o de una cabecera Cookie, la autenticación básica de -u y el cuerpo de --data, --data-raw, --data-urlencode o los campos de formulario -F se reconstruyen en el cliente de destino.

  3. 03

    Los cuerpos conservan su forma

    Un cuerpo JSON de --data-raw aterriza como un objeto literal real o una llamada a JSON.stringify, los campos de formulario se convierten en la codificación de formulario del lenguaje de destino y el texto crudo se queda crudo, en lugar de una cadena aplanada que tienes que volver a analizar a mano.

  4. 04

    Salida resaltada y lista para copiar

    Cada destino se muestra con resaltado de sintaxis afinado a su propio lenguaje y sigue tu tema claro u oscuro, con un botón de copia en un clic para que el fragmento caiga directo en tu editor.

  5. 05

    Cambia de stack sin volver a pegar

    Pega una vez y luego alterna el destino entre fetch, Python y Go desde el desplegable para comparar cómo se lee la misma petición en cada ecosistema antes de decidirte por uno.

  6. 06

    Motor bajo demanda, conversión en el navegador

    El analizador de cURL es un paquete considerable, así que se carga bajo demanda tras una barra de progreso y se almacena en caché durante tu visita. Después, el análisis y la generación de código ocurren en esta página: ninguna petición lleva tu comando, cabeceras o tokens fuera del navegador.

Cómo usarla

Una entrada, un desplegable: pega, elige, copia. El motor de conversión se carga solo la primera vez que abres la página.

  1. 01

    Copia un comando cURL: en Chrome DevTools haz clic derecho en una petición y elige Copy → Copy as cURL, o toma uno de la documentación de una API o de un compañero.

  2. 02

    Pégalo en la entrada de cURL de la izquierda. Los comandos de varias líneas con continuación por barra invertida funcionan bien.

  3. 03

    Elige el lenguaje o cliente de destino en el desplegable de la parte inferior de la herramienta.

  4. 04

    Lee el resultado resaltado a la derecha y usa el botón Copiar de arriba para llevarlo a tu editor.

  5. 05

    Cambia de destino en el desplegable para comparar la misma petición entre stacks, sin volver a pegar.

Detalles

Convertir un comando cURL puntual en código real del proyecto deja de ser una reescritura manual y deja de introducir las erratas que una reescritura suele traer.

  • Recupera el método, la URL, los parámetros de consulta, las cabeceras, las cookies, la autenticación básica y el cuerpo directamente de los flags de cURL.
  • Maneja comandos de varias líneas con continuación por barra invertida, además de cadenas de shell con comillas simples, dobles y $'…'.
  • Los cuerpos JSON sobreviven al viaje de ida y vuelta y aterrizan con formato en el fragmento de destino, no como una cadena opaca.
  • Los destinos abarcan el navegador (fetch, jQuery, XHR), Node (fetch, axios, got, ky) y más de veinte lenguajes y clientes más.
  • La salida usa resaltado de sintaxis por lenguaje que sigue tu tema claro u oscuro para diffs y capturas legibles.
  • Al seleccionar un nuevo destino se vuelve a generar al instante desde el comando ya analizado, sin un viaje extra.
  • El paquete del analizador se carga bajo demanda tras una barra de progreso y se almacena en caché, así que la página se mantiene ligera hasta que de verdad lo necesitas.

Casos de uso

Los momentos cotidianos de «tengo un cURL, necesito código»: cada uno deja de ser una reescritura a mano y una fuente de errores sutiles de copia.

  1. Llevar una petición de las DevTools al código

    Copy as cURL desde el panel de red, conviértelo a fetch o axios y pégalo directo en el frontend que estás construyendo, con las cabeceras y el cuerpo intactos.

  2. Convertir la documentación de una API en una llamada funcional

    La mayoría de las API documentan los ejemplos en cURL. Conviértelo a Python requests o Go y arranca desde una llamada que ya coincide con las cabeceras y el payload documentados.

  3. Portar una petición entre stacks

    Un ejemplo de backend está en PHP cURL pero tu servicio está en Rust o Java: conviértelo una vez y mantén el método, la autenticación, las cabeceras y el cuerpo idénticos en lugar de traducir a ojo.

  4. Sembrar un fixture de regresión

    Convierte una petición capturada a Python o Node para arrancar un test de integración, y luego cambia a credenciales de prueba y añade aserciones en torno a la respuesta.

  5. Comparar librerías cliente antes de decidir

    Alterna la misma petición entre fetch, got y ky, o entre requests y http.client, para ver qué forma de API se lee mejor para tu equipo y tu estilo de código.

  6. Entregar un fragmento ejecutable

    Da a tus compañeros un fragmento de fetch o PowerShell listo para ejecutar en lugar de un cURL crudo que tengan que traducir ellos mismos: menos preguntas de «¿cómo envío esto en X?».

Ver también

Cuando necesitas leer una petición por partes en lugar de convertirla, abre Analizador de mensajes HTTP para desplegar HTTP crudo, cURL o fetch en una vista estructurada de cabeceras, cookies y cuerpo. Para query strings enredadas o cadenas de redirección en la URL, Herramientas de URL separa cada componente y elimina los parámetros de seguimiento. Cuando una cabecera Authorization o una cookie lleva un JWT, Inspector de JWT decodifica el payload y verifica la firma para que no actúes sobre un token sin verificar.

Buenas prácticas

La conversión es fiel al comando, pero el fragmento acaba entrando en tu proyecto: dale un repaso rápido antes de que aterrice.

  • Prefiere el cURL de varias líneas de «Copy as cURL» de las DevTools para que cada cabecera -H y cada flag sobrevivan limpiamente al pegado.
  • Elimina o reemplaza las cabeceras Authorization, las cookies de sesión y los tokens de API antes de compartir o commitear el código convertido.
  • Mueve los secretos a variables de entorno o a un cargador de configuración en el fragmento generado en lugar de dejarlos en línea.
  • Añade timeouts, reintentos y manejo de errores a la medida de tu proyecto: la salida reproduce la petición, no el endurecimiento de producción a su alrededor.
  • Reemplaza los dominios de ejemplo y los IDs de marcador de posición por configuración real antes de que el fragmento llegue a una base de código en vivo.
  • Trata un cuerpo de petición que referencia un archivo local (--data @payload.json) como un marcador; conecta la lectura real del archivo en el lenguaje de destino.
  • No dejes tokens de producción en ninguna herramienta en línea, incluida esta. Limpia la entrada cuando termines.

Limitaciones

Conocer los límites evita que recurras a esto como cliente HTTP o depurador.

  • No se envía ninguna petición: la herramienta solo traduce el texto del comando, así que no puede ejecutar la llamada, seguir redirecciones ni mostrar una respuesta.
  • Los flags muy exóticos o expandidos por el shell (sustitución de procesos, --data por tubería, subidas con globbing) pueden no mapearse limpiamente a todos los lenguajes de destino.
  • El código generado es un punto de partida fiel, no listo para producción; la renovación de la autenticación, la paginación, los reintentos y el manejo de errores siguen siendo tuyos.
  • Las subidas binarias referenciadas por ruta de archivo (por ejemplo, --data @file o -F file=@photo.png) no pueden incrustarse, ya que el archivo no está disponible aquí.
  • Solo se acepta cURL como entrada. Para analizar mensajes HTTP crudos y fragmentos fetch, o para inspeccionar cabeceras y cookies en una vista estructurada, usa el analizador de mensajes HTTP.

Preguntas frecuentes

Las preguntas frecuentes cubren los destinos admitidos, lo que se conserva, el motor bajo demanda, la precisión y dónde residen los datos.

¿A qué lenguajes y clientes puedo convertir?

Alrededor de treinta destinos, incluidos fetch del navegador, jQuery y XHR; fetch de Node, axios, got y ky; requests y http.client de Python; Go, Rust, C#, Swift, Dart y Objective-C; PHP cURL y Guzzle; Java OkHttp y Kotlin; además de Ruby, Elixir, R, MATLAB, Perl, Lua, PowerShell y Ansible.

¿Qué partes de la petición se conservan?

El método, la URL completa con su query string, las cabeceras, las cookies, la autenticación básica y el cuerpo de la petición —JSON, form-urlencoded o crudo— se trasladan todos al destino seleccionado. Los campos de formulario multipart de -F se mapean cuando el cliente de destino los admite.

¿Por qué aparece una barra de carga al abrir la página?

El analizador de cURL es un paquete considerable, así que se descarga bajo demanda tras una barra de progreso en lugar de enviarse con el resto de la página. Se almacena en caché durante tu visita, así que las conversiones posteriores son instantáneas.

¿Puedo ejecutar el código generado tal cual?

Es un punto de partida fiel que conserva la petición. Antes de desplegar, añade manejo de errores, timeouts y variables de entorno, y saca cualquier secreto del código en línea.

¿En qué se diferencia del analizador de mensajes HTTP?

Esta herramienta se centra en una sola tarea: cURL entra, código sale. El analizador de mensajes HTTP también acepta mensajes HTTP crudos y fragmentos fetch, y descompone una petición en una vista estructurada de cabeceras, cookies y cuerpo. Usa esta cuando solo necesitas el código, y aquella cuando necesitas inspeccionar o depurar un mensaje.

¿Se sube mi comando cURL?

No. Una vez cargado el motor, el análisis y la generación de código se ejecutan en el navegador. Ninguna petición de red lleva tu comando, cabeceras o tokens fuera de esta página.

¿Por qué falla la conversión de mi comando?

La entrada debe ser un comando cURL completo que empiece por curl. Los comandos muy expandidos por el shell, o los flags que no tienen equivalente en el destino elegido, pueden no convertirse; prueba otro destino, simplifica el comando o quita las construcciones exclusivas del shell.

Herramientas relacionadas

Sigue con el trabajo de red y peticiones: inspecciona un mensaje HTTP completo, limpia una URL o decodifica el JWT de una cabecera Authorization.