Conversor de cURL: cURL para Fetch, Python, Axios e mais
Cole um comando curl, por exemplo um copiado do DevTools do navegador, e receba código pronto para rodar em 8 linguagens. Headers, corpos JSON, formulários, upload de arquivos, autenticação e cookies são todos convertidos.
Roda no seu navegadorSem cadastroNada é enviado
Como usar: Conversor de cURL
- Copie uma requisição como cURL: no DevTools do Chrome ou do Firefox, clique com o botão direito em uma requisição na aba Network → Copy → Copy as cURL.
- Cole na caixa de entrada. Comandos em várias linhas com
\, continuações^do Windows e strings$'…'são suportados. - Escolha o destino: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP ou HTTPie.
- Leia os avisos abaixo da saída. Eles listam opções que não têm equivalente na linguagem de destino.
- Copie o código ou baixe-o como arquivo.
Por que converter comandos curl em código?
O curl é a língua comum do HTTP. Documentações de API mostram exemplos em curl, o DevTools do navegador exporta requisições como curl e equipes de suporte enviam reproduções em curl. Quando você quer essa requisição dentro de uma aplicação, precisa reescrevê-la à mão: mover cada -H para um objeto de headers, transformar -d em corpo, converter -u em basic auth e lembrar que -G move os dados para a query string. Este conversor faz essa tradução por você e gera código que pode ser colado direto no projeto.
Opções do curl suportadas
| Opção | Convertida para |
|---|---|
-X, -I, -G | Método HTTP (POST é deduzido quando há um corpo) |
-H, -A, -e, -b | Headers, User-Agent, Referer e cookies |
-d, --data-raw, --data-binary, --data-urlencode, --json | Corpo da requisição: objetos JSON, campos de formulário ou texto bruto |
-F | Dados de formulário multipart, incluindo uploads @file |
-u, --oauth2-bearer | Basic auth ou um token Bearer |
-k, -L, -m, -x, --compressed | Verificação TLS, redirecionamentos, timeout, proxy e compressão |
Corpos JSON viram objetos de verdade
Quando a requisição envia JSON (um header Content-Type: application/json, --json ou um corpo que é JSON válido), o conversor gera estruturas de dados nativas em vez de uma string escapada: JSON.stringify({...}) para fetch, um objeto simples para Axios e json= com um dict Python (True, False, None) para requests e httpx. Assim fica fácil editar o payload e preenchê-lo com variáveis.
Diferenças para ter em mente
Navegadores não conseguem desativar a verificação de certificados nem rotear uma única requisição por um proxy, então -k e -x aparecem apenas como comentários no código fetch para navegador. O curl não segue redirecionamentos a menos que você passe -L, enquanto fetch, requests e Go os seguem por padrão. Um corpo enviado com -d sem Content-Type é codificado como formulário pelo curl; se parecer JSON, o conversor o envia como JSON e avisa você.
Perguntas frequentes
Meu comando curl é enviado a um servidor?
Como copiar uma requisição como cURL no Chrome?
Ele lida com upload de arquivos?
-F name=@file vira FormData em JavaScript, um dict files= em Python, mime/multipart em Go e CURLFile em PHP. -d @file e -T file leem o corpo da requisição de um arquivo.O que acontece com opções que o conversor não conhece?
-s, -v ou -o, são ignoradas porque não mudam a requisição.