1001Ferramentas
🔁Conversores

Conversor cURL para fetch()

Cole um comando cURL e gere o equivalente em JavaScript fetch(). Suporta -X, -H, -d, --data-raw, querystring e cookies. Tudo no navegador.

Converta cURL em fetch() do JavaScript

A documentação de uma API quase sempre traz os exemplos em cURL, só que no front-end o que você quer é o equivalente em fetch(). Reescrever na mão, traduzindo cabeçalho por cabeçalho e cada parâmetro, é tedioso e o erro mora a um descuido de distância. Este conversor faz essa tradução sozinho.

Cole o comando cURL e receba o fetch() correspondente. Ele dá conta dos elementos mais comuns: o método (-X), os cabeçalhos (-H), o corpo da requisição (-d, --data-raw), a query string e os cookies. Em segundos o código está pronto para entrar no seu projeto JavaScript.

A conversão roda inteira no navegador, então o comando não sai do seu dispositivo. Dá para converter requisições com tokens ou dados sensíveis sem preocupação.

Perguntas frequentes

Quais flags do cURL o conversor realmente entende?
Ele lê o método (-X ou --request), os cabeçalhos (-H ou --header), o corpo (-d, --data, --data-raw ou --data-binary) e a primeira palavra que começa com http, tratada como URL. O resto é ignorado em silêncio: -b e --cookie, o -u de autenticação básica, o -F de multipart, --data-urlencode, -L e --compressed desaparecem sem aviso. Cookie enviado como cabeçalho, no formato -H 'Cookie: a=1', sobrevive justamente por ser um -H.
Por que o método saiu POST se eu não escrevi -X POST?
Porque a presença de um corpo troca o método padrão. O conversor parte de GET e, ao encontrar -d ou qualquer variante de --data, passa para POST, que é exatamente o que o cURL faz na linha de comando. Para outro verbo, basta escrever o -X: o valor explícito prevalece, apareça ele antes ou depois do corpo. E o corpo entra no fetch() como string, sem ser interpretado, então um JSON continua entre aspas dentro do campo body.
O código gerado já roda do jeito que sai?
Roda, mas leia antes de colar. A saída termina sempre em .then(r => r.json()).then(console.log), o que quebra quando a resposta não é JSON, e não há tratamento de erro nem checagem de r.ok. A ferramenta também não dispara a requisição em momento nenhum: ela só reescreve texto, dentro do navegador, sem mandar o comando para servidor algum. Por isso dá para colar um cURL com token de autorização sem expor nada.

Ferramentas Relacionadas