Turn any cURL command into fetch, axios, or Python requests code. Parsed locally — safe for real tokens.
Paste a cURL command to translate it into fetch, axios, or Python code
cURL parsing and code generation run entirely in your browser. Your command (including any tokens!) is never uploaded.
A shell tokenizer first splits the command, honoring single quotes (no escapes inside), double quotes (\\" \\$ escapes), and backslash continuations. Then a flag pass maps each option: -H becomes a header pair, repeated -d flags join with & exactly as cURL sends them, -F flags signal multipart FormData, -u becomes HTTP Basic auth, and the method defaults to POST when a body exists, GET otherwise. Output is copy-paste runnable — but review it: secrets in the command end up in the code.
Quote handling follows real shell semantics: single quotes are literal, double quotes allow escapes, backslash continues lines.
Kai copies a working cURL from a Stripe-style dashboard and needs it inside his Next.js route handler.
Convert cURL to JavaScript Fetch, Axios, or Python requests online free. Everything runs locally; nothing is uploaded.
FreeToolHub cURL to Fetch Converter is a free browser-based tool — convert cURL to JavaScript Fetch, Axios, or Python requests online free. No signup, no upload; everything runs locally in your browser.
Convierte comandos cURL a código JavaScript Fetch, Axios o Python requests online gratis. Maneja cadenas entrecomilladas, caracteres escapados, cabeceras repetidas, cuerpos -d unidos, subidas -F, autenticación, redirecciones y la opción insecure. Vista previa en vivo de la petición analizada y salida lista para copiar. 100% en el navegador.
La documentación de las APIs habla cURL; tu aplicación habla fetch, Axios o Python requests. Reescribir a mano un comando complejo —cabeceras, auth, cuerpos multipart— es donde viven los errores de transcripción. Pegar el comando y obtener código correcto e idiomático en tu cliente HTTP real elimina toda esa clase de errores de copiado.
El tokenizador refleja las reglas de una shell de Unix: las cadenas entre comillas simples son literales, las de comillas dobles respetan los escapes con barra invertida, y una barra invertida final une líneas continuadas. La petición analizada —método, URL, cabeceras, cuerpo, auth— se previsualiza en vivo antes de la generación, y toda la canalización se ejecuta en tu navegador para que los comandos con credenciales nunca salgan de la página.
El código fetch generado es un punto de partida, y una pasada rápida de revisión lo deja listo para producción. Primero, las cabeceras: las comillas simples de cURL desaparecen en JavaScript, así que las cadenas que contienen comillas simples necesitan escapado; el generador emite comillas dobles para esos casos, y conviene verificarlo cuando el cuerpo contiene ambos tipos de comillas. Segundo, el manejo de errores: fetch resuelve con éxito ante HTTP 404 y 500, a diferencia de axios, así que una implementación real necesita una comprobación de res.ok que el one-liner no incluye. Tercero, las credenciales: el flag -b de cookies de cURL se convierte en una cabecera Cookie, pero en los navegadores el cookie jar lo gestiona la opción credential; las peticiones del mismo origen suelen querer credentials: include en lugar de una cabecera construida a mano. Las traducciones a axios y a Python tienen la misma forma: correctas como esqueleto, revisadas antes de enviar.
El analizador lee -X (método), -H (cabeceras repetibles), -d (varios cuerpos se unen con &), -F (multipart con detección de @file), -u (auth básica), --url, -L (seguir redirecciones), -k (inseguro), -I (HEAD), -A (user agent), -e (referer) y -b (cookies). Los flags no admitidos se reportan en lugar de descartarse en silencio.
Los comandos se tokenizan con un analizador estilo shlex: las comillas simples protegen todo lo de dentro, las dobles permiten escapes con barra invertida, y las continuaciones de línea con barra invertida unen comandos de varias líneas. Esto refleja cómo una shell de Unix analizaría el mismo comando.
No. El análisis y la generación de código se ejecutan por completo en tu navegador: un comando cURL que contenga una cabecera Authorization nunca sale de la página. Precisamente por eso existe la herramienta: pegar cURL con credenciales en sitios web aleatorios es un vector de fuga real.
cURL expresa una petición como flags de línea de comandos mientras que fetch la expresa como un objeto de opciones: el generador reordena en lugar de traducir palabra por palabra. Flags como -X se funden en method, -H en headers, -d en body y -u en una cabecera Authorization. La petición semántica es idéntica aunque la disposición no lo sea.
Sí para la sintaxis de formularios -F de cURL: el generador mapea cada campo -F a FormData y descarta la cabecera Content-Type manual, porque el navegador debe establecer el multipart boundary por sí mismo. Las referencias binarias como @photo.jpg se convierten en una nota en la salida: adjunta un File o Blob real desde tu código en ese campo.
What do you call a really smart cookie?
No signups, no data sold. Every tool is free to use — the free tier allows 5 downloads or saves per day, and the optional Pro plan ($7/mo, $59/yr) adds unlimited downloads, batch processing, white-label exports and an ad-free experience.
☕Support me on Ko-fi— support the free tier100% of proceeds go towards hosting & building more free tools.