cURL → fetch / axios

Gratuito DevTools

cURL para fetch / axios

Converta comandos cURL para JavaScript fetch() e axios instantaneamente. Cole seu comando e obtenha o codigo equivalente com suporte a headers, body, autenticacao e cookies.

5.3k usuarios Atualizado em Mar 2026 4.8/5
Avalie esta ferramenta:
4.8 (742 votos) Obrigado!
Conversor cURL

                    

                    

                    

Como Usar

Converta qualquer cURL para JavaScript em segundos.

1
Cole o cURL
Cole o comando cURL completo no campo de entrada acima.
2
Conversao automatica
O codigo e gerado automaticamente enquanto voce digita.
3
Escolha o formato
Selecione fetch(), axios ou async/await conforme sua necessidade.
4
Copie o codigo
Clique em Copiar e use o codigo diretamente no seu projeto.

Flags cURL Suportados

Flag Descricao
-X, --requestMetodo HTTP (GET, POST, PUT...)
-H, --headerHeader da requisicao
-d, --dataBody da requisicao
-u, --userAutenticacao Basic (user:pass)
-b, --cookieCookies da requisicao
--data-rawBody raw (sem processamento)

cURL para JavaScript: Como Converter Requisicoes HTTP e Usar fetch() ou axios no Seu Projeto

Neste artigo
  1. O que e cURL
  2. Por que usar fetch() no lugar de cURL
  3. Quando escolher axios
  4. Os flags mais comuns e sua equivalencia
  5. Boas praticas em requisicoes HTTP com JavaScript
  6. Perguntas frequentes

1. O Que E cURL

cURL (Client URL) e uma ferramenta de linha de comando amplamente usada para transferir dados via HTTP, HTTPS, FTP e outros protocolos. E o padrao de fato para documentar e compartilhar exemplos de requisicoes de API — praticamente toda documentacao de API inclui exemplos em cURL.

O problema e que cURL e uma ferramenta de linha de comando, enquanto a maioria dos projetos modernos utiliza JavaScript no frontend ou no backend com Node.js. Converter manualmente um cURL para fetch() ou axios e repetitivo e sujeito a erros, especialmente em comandos com multiplos headers e bodies complexos.

2. Por Que Usar fetch() no Lugar de cURL

A Fetch API e nativa nos navegadores modernos e no Node.js 18+, eliminando a necessidade de dependencias externas para realizar requisicoes HTTP. Suas principais vantagens sao:

  • Zero dependencias: disponivel nativamente em todos os ambientes modernos.
  • Promise-based: integra-se naturalmente com async/await.
  • Padrao web: comportamento consistente entre navegador e Node.js.
  • Leve: sem overhead de biblioteca externa no bundle final.

3. Quando Escolher axios

axios e uma biblioteca HTTP popular que oferece algumas vantagens sobre fetch() nativo em cenarios especificos:

  • Interceptors: permitem modificar requests e responses globalmente.
  • Cancelamento de requisicoes: suporte nativo a CancelToken.
  • Transformacao automatica: parse de JSON automatico na resposta.
  • Compatibilidade: funciona em ambientes mais antigos sem polyfill.

Para projetos simples ou que ja usam Node.js 18+, fetch() nativo e suficiente. Para projetos com necessidades avancadas de interceptacao ou que precisam de compatibilidade ampla, axios e a escolha recomendada.

4. Os Flags Mais Comuns e Sua Equivalencia

Os flags mais usados no cURL e como eles se traduzem para JavaScript:

  • -X POST: equivale a method: 'POST' no options do fetch.
  • -H 'Content-Type: application/json': equivale a entrada no objeto headers.
  • -d '{"key":"val"}': equivale ao body: JSON.stringify(obj).
  • -u user:pass: equivale a Authorization: Basic btoa('user:pass').
  • -b 'cookie=val': equivale a header Cookie.
"Nossa ferramenta analisa o cURL token por token e reconstroi o objeto de opcoes equivalente — o mesmo processo que voce faria manualmente, mas em milissegundos."

5. Boas Praticas em Requisicoes HTTP com JavaScript

Alem de converter o cURL corretamente, e importante seguir boas praticas ao usar requisicoes HTTP no codigo:

  • Sempre verifique response.ok antes de processar a resposta no fetch nativo.
  • Use try/catch com async/await para capturar erros de rede e HTTP.
  • Nunca exponha tokens e senhas no codigo do frontend — use variaveis de ambiente.
  • Implemente retry logic para requisicoes criticas com falha transiente.
  • Defina timeouts explicitos, especialmente em Node.js com fetch ou axios.

6. Perguntas Frequentes

O conversor suporta cURLs com multiplos headers?

Sim. O parser reconhece multiplas flags -H e as converte em um unico objeto headers com todas as chaves mapeadas corretamente.

Comandos com quebras de linha (backslash) funcionam?

Sim. O conversor normaliza as continuacoes de linha (\) antes de fazer o parse, permitindo que voce cole comandos formatados com multiplas linhas diretamente do terminal.

O codigo gerado e funcional em producao?

O codigo gerado e sintaticamente correto e funcionalmente equivalente ao cURL original. Recomendamos revisar tokens e credenciais antes de usar em producao, movendo-os para variaveis de ambiente conforme as boas praticas de seguranca.

Os dados do cURL sao enviados para algum servidor?

Nao. Todo o processamento acontece localmente no seu navegador via JavaScript. Nenhum dado, token ou URL e enviado a servidores externos.