⇄
Developer/cURL to Code Converter

cURL to Code Converter

Turn any cURL command into fetch, axios, or Python requests code. Parsed locally — safe for real tokens.

100% LOCALFetch / Axios / PythonShlex-safe parserLive preview100% local
Saved Configurations· Auto-save on
▾
A calculadoraPage 1

Paste a cURL command to translate it into fetch, axios, or Python code

Data Source & Legal Disclaimer
Effective: 2026Last updated: 2026-09-07Update: Manual review
Sources: Parsing happens locally — MDN fetch API

cURL parsing and code generation run entirely in your browser. Your command (including any tokens!) is never uploaded.

See all data sources & update policy →
Como funcionaPage 2

How the parser reads a cURL command — illustrated

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.

Tokenize (shell rules) → map flags → emit fetch / axios / requests
Shell tokenizing'…' literal · "…" escapes\\ line continuationFlag mapping-H → headers · -d → body-F → FormData · -u → authmethod: POST if bodyfetch()axiosrequestsduplicated -d flags join with & — matching what cURL actually sends on the wire

Quote handling follows real shell semantics: single quotes are literal, double quotes allow escapes, backslash continues lines.

Documenting an API call — Kai's integration notes

Kai copies a working cURL from a Stripe-style dashboard and needs it inside his Next.js route handler.

  1. Paste the command:The multi-line command (backslash continuations) parses to POST, two headers, and a JSON body — nothing to configure
  2. Pick fetch:The emitted code is a drop-in await fetch(url, { method, headers, body }) for his route handler
  3. Check the secrets:The Authorization bearer token from the command appears in the code — expected, since he pasted it locally; the privacy badge reminds him nothing was uploaded
  4. Swap targets:For the Python docs he re-exports the same parse as requests code — one parse, three targets
FAQ e detalhesPage 3

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.

Sobre esta ferramenta

O que é esta ferramenta?

Converta comandos cURL para código JavaScript Fetch, Axios ou Python requests online gratuitamente. Lida com strings entre aspas, caracteres de escape, cabeçalhos repetidos, corpos -d unidos, uploads de arquivos -F, autenticação, redirecionamentos e flags inseguras. Visualização ao vivo do pedido analisado e pronto para copiar. 100% baseado em navegador.

Fetch / Axios / PythonShlex-safe parserLive preview100% local

Por Que Converter cURL

A documentação de API fala em cURL; seu aplicativo fala em Fetch, Axios ou Python requests. Digitar novamente um comando complexo - cabeçalhos, autenticação, corpos multipart - é onde vivem os bugs de transcrição. Colar o comando e obter código correto e idiomático no seu cliente HTTP real remove toda a classe de erros de cópia.

Analisando Como um Shell, Executando Como um Navegador

O tokenizador segue as regras do shell Unix: strings entre aspas simples são literais, strings entre aspas duplas respeitam escapes de barra invertida e barras invertidas no final unem linhas continuadas. O pedido analisado - método, URL, cabeçalhos, corpo, autenticação - é visualizado ao vivo antes da geração, e todo o pipeline é executado no seu navegador para que comandos com credenciais nunca deixem a página.

Lendo o Código Gerado Como um Revisor

O código fetch gerado é um ponto de partida, e uma rápida revisão o torna pronto para produção. Primeiro, cabeçalhos: as aspas simples do cURL desaparecem em JavaScript, então strings contendo aspas simples precisam de escape - o gerador emite strings entre aspas duplas para essas, vale a pena verificar quando o corpo contém ambos os tipos de aspa. Segundo, tratamento de erros: fetch resolve com sucesso em HTTP 404 e 500, ao contrário do axios, então uma implementação real precisa de uma verificação res.ok que o one-liner não inclui. Terceiro, credenciais: a flag -b cookie do cURL se torna um cabeçalho Cookie, mas nos navegadores o cookie jar é gerenciado pela opção credentials em vez disso - pedidos same-origin geralmente querem credentials: 'include' em vez de um cabeçalho construído manualmente. As traduções axios e Python têm a mesma forma: corretas como esqueleto, revise antes de enviar.

Perguntas frequentes

Quais flags do cURL são suportadas?

O parser lê -X (método), -H (cabeçalhos repetidos), -d (múltiplos corpos são unidos com e comercial), -F (multipart com detecção @file), -u (autenticação básica), --url, -L (seguir redirecionamentos), -k (inseguro), -I (HEAD), -A (user agent), -e (referer) e -b (cookies). Flags não suportadas são relatadas em vez de serem descartadas silenciosamente.

Como as aspas e escapes são tratados?

Os comandos são tokenizados com um parser estilo shlex: aspas simples protegem tudo dentro delas, aspas duplas permitem escapes de barra invertida e continuidades de linha com barra invertida unem comandos de várias linhas. Isso reflete como um shell Unix analisaria o mesmo comando.

Meu token de API é enviado para algum lugar?

Não. A análise e geração de código são executadas inteiramente no seu navegador - um comando cURL contendo um cabeçalho Authorization nunca deixa a página. É exatamente por que a ferramenta existe: colar comandos cURL com credenciais em sites aleatórios é um vetor de vazamento real.

Por que meu código fetch difere do cURL em estrutura?

cURL expressa um pedido como flags de linha de comando enquanto fetch o expressa como um objeto options - o gerador reorganiza em vez de traduzir palavra por palavra. Flags como -X são mescladas em method, -H em headers, -d em body e -u em um cabeçalho Authorization. O pedido semântico é idêntico mesmo quando o layout não é.

Consegue lidar com uploads de arquivos multipart?

Sim para a sintaxe de formulário cURL -F: o gerador mapeia cada campo -F em FormData e descarta o cabeçalho Content-Type manual, porque o navegador deve definir o limite multipart por si só. Referências de arquivo binário como @photo.jpg se tornam uma nota na saída - anexe um arquivo ou Blob real do seu código nesse campo.

Ferramentas relacionadas

Compartilhar:𝕏inf⬆
Joke of the Day
Oct 22

What do you call a really smart cookie?

Free core, no account

Keep the Free Edition Free

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 tier

100% of proceeds go towards hosting & building more free tools.