Conversor de curl para fetch/axios | Transforme requisições de API em código JS
Cole um comando curl copiado da documentação, de um README ou de uma resposta do Stack Overflow e obtenha a chamada JavaScript equivalente em fetch ou axios. A ferramenta lê o método, os cabeçalhos, o corpo JSON e a autenticação básica, e permite alternar entre os dois estilos.
💡 Sobre esta ferramenta
A documentação de APIs quase sempre mostra exemplos em curl. Ao levar isso para o código front-end, você acaba mapeando à mão as opções -H para um objeto headers, -d para um body e -u para um cabeçalho Authorization: uma tarefa repetitiva e fácil de errar, especialmente com as aspas e com a troca implícita de GET para POST que o curl aplica quando há um corpo.
Este conversor analisa as opções comuns do curl (-X / --request, -H / --header, a família -d, -u / --user, -b / --cookie, -I / --head) e gera o código fetch ou axios correspondente. Se o corpo for um JSON válido, ele o envolve em JSON.stringify(...); caso contrário, mantém como string. Opções desconhecidas são ignoradas em vez de interromper a análise.
Tudo é processado no seu navegador com JavaScript puro, então o comando — incluindo tokens ou nomes de host internos — nunca sai da página.
🧐 Perguntas frequentes
P. Quando devo preferir fetch em vez de axios? fetch já vem embutido no navegador e não exige dependências; o axios traz comodidades como o parse automático de JSON e os interceptadores. Gere os dois e compare lado a lado para se adequar às convenções do seu projeto.
P. Ele lida com comandos curl de várias linhas com barra invertida no fim da linha?
Sim. As continuações de linha (\ no fim) são unidas antes da análise, então um comando bem formatado copiado da documentação funciona como está.
P. Como -u usuario:senha é convertido?
No fetch, ele monta um cabeçalho Authorization no formato Basic ${btoa('usuario:senha')}. No axios, ele separa o valor em um objeto auth: { username, password }.
P. O que acontece com opções que a ferramenta não reconhece? Opções não suportadas são ignoradas e a conversão prossegue usando a URL e as opções compreendidas. Você sempre pode completar o restante manualmente depois.
P. Os parâmetros de consulta da URL são preservados? Sim. A URL é passada diretamente como primeiro argumento do fetch ou do axios, incluindo os parâmetros de consulta, sem ser desmembrada.
📚 Curiosidades
O curl foi lançado por Daniel Stenberg em 1998 e hoje acompanha praticamente todos os servidores e dispositivos embarcados do mundo, sendo um dos programas mais distribuídos da história. A API fetch do navegador chegou bem depois, em 2015, como substituta moderna do XMLHttpRequest. Traduzir uma chamada curl que funciona para o código front-end é uma das tarefas de ponte mais frequentes ao passar de "a API responde" para "a interface conversa com ela", e o axios há muito preenche essa lacuna com seu objeto de configuração ergonômico.