Convertidor de cURL a Fetch

Convierte comandos cURL a código JavaScript fetch() API. Analiza banderas curl: -X (método), -H (encabezados), -d/--data (cuerpo), --json, -u (autenticación básica), --data-urlencode, -G (GET con datos) y más.

Examples:

Cómo usar Convertidor de cURL a Fetch

  1. 1Pega tu comando cURL en el campo de entrada.
  2. 2La herramienta analiza automáticamente todas las banderas y opciones de curl.
  3. 3Se genera código JavaScript fetch() con encabezados, método y cuerpo equivalentes.
  4. 4Copia el código fetch directamente en tu proyecto JavaScript.
ZenovayAnalytics

Ve quién está en tu sitio ahora mismo.

  • Seguimiento de visitantes en tiempo real
  • Privacidad primero, sin aviso de cookies
  • Configurado en dos minutos
Descubre Zenovay

Preguntas frecuentes

¿Qué indicadores de curl admite este convertidor?
-X / --request: método HTTP (GET, POST, PUT, PATCH, DELETE, etc.). -H / --header: Añadir encabezado de solicitud (múltiples admitidos). -d / --data / --data-raw: Cuerpo de la solicitud. --data-urlencode: Datos codificados en URL. --json: Enviar cuerpo JSON (establece Content-Type automáticamente). -u / --user: Autenticación básica (usuario:contraseña). -L / --location: Seguir redirecciones (incluido como comentario). --compressed: Aceptar respuestas comprimidas. -b / --cookie: Encabezado Cookie. --form / -F: Datos de formulario (multiparte). -k / --insecure: Omitir verificación SSL (indicado como comentario).
¿Cómo funciona -d/--data en curl frente a fetch?
En curl, -d envía datos como cuerpo de la solicitud con Content-Type: application/x-www-form-urlencoded por defecto. Múltiples indicadores -d concatenan datos con &. En fetch, el equivalente es body: "clave=valor&otro=val" con un encabezado Content-Type correspondiente. Si usa --json en curl (curl 7.82 o superior), establece Content-Type: application/json y envía el cuerpo JSON — esto se corresponde con body: JSON.stringify(data) en fetch. Si su curl ya incluye -H "Content-Type: application/json", el convertidor lo detecta y formatea el cuerpo en consecuencia.
¿Cómo se convierte la autenticación básica (-u usuario:contraseña)?
curl -u usuario:contraseña envía autenticación básica HTTP. En JavaScript fetch, esto se corresponde con un encabezado Authorization: Authorization: Basic {base64(usuario:contraseña)}. El convertidor genera btoa("usuario:contraseña") en el código fetch. Nota: insertar credenciales en código del lado del cliente no es seguro — en producción, pase las credenciales del lado del servidor o use variables de entorno.
¿Qué pasa con las cookies (-b/--cookie)?
curl -b "nombre=valor; otro=val" envía cookies como encabezado Cookie, que se corresponde directamente con un encabezado fetch: "Cookie": "nombre=valor; otro=val". Sin embargo, tenga en cuenta que fetch en el navegador no puede establecer el encabezado Cookie para solicitudes de origen cruzado (restricciones CORS). Esta es una característica de seguridad — las cookies para solicitudes de origen cruzado son gestionadas automáticamente por el navegador según el dominio y la configuración de SameSite de la cookie.
¿Por qué el código fetch generado podría necesitar ajustes manuales?
curl tiene muchos indicadores sin equivalentes directos en fetch: --retry (no hay reintento nativo en fetch), --max-time/--connect-timeout (requiere AbortController con setTimeout), --proxy (no compatible con fetch en el navegador), --cert/--key (certificados TLS de cliente, no disponibles en fetch del navegador). El convertidor maneja los indicadores más comunes. En casos extremos, puede necesitar envolver fetch con lógica de reintento o usar una biblioteca HTTP de Node.js como axios o got, que admite más opciones.