Conversor cURL para JSON
Cole um comando cURL. Receba a requisição estruturada como JSON.
curl e clique em "Converter" — quebramos ele num objeto JSONColar cURLO que essa ferramenta faz
Copiou um comando cURL do histórico do terminal, de uma resposta no Stack Overflow ou da documentação de API de algum fornecedor e precisa transformar isso em algo que seu app ou outra ferramenta consiga consumir? Este conversor extrai a URL, o método, os headers, a autenticação, os query parameters e o body do comando cURL e devolve um objeto JSON limpo descrevendo a requisição inteira.
O parser roda 100% no seu navegador — o comando cURL, qualquer chave de API ou token nos headers e o payload do body nunca saem da sua máquina. Isso importa porque comandos cURL do dia a dia frequentemente carregam bearer tokens, cookies ou IDs de sessão que você não gostaria de ver vazando do seu laptop. Tudo aqui é JavaScript, igual a qualquer outra ferramenta que rode no navegador.
Suporta continuação de linha (\), aspas simples e duplas, todas as flags comuns (-X, --request, -H, --header, -d, --data, --data-raw, --data-urlencode, -u, --user) e bodies em JSON — se o body for um JSON válido, parseamos e devolvemos como objeto aninhado em vez de string.
Como usar
Três passos. Funciona com cURL vindo do Chrome DevTools, do export do Postman, do Stack Overflow ou de onde quer que seja.
Cole o comando cURL
Jogue seu comando no editor à esquerda. Múltiplas linhas (com continuações \) está tudo certo. Você pode colar direto do Copy as cURL do Chrome DevTools — as flags -H extras dos headers do navegador são parseadas sem problema.
Se está pegando uma requisição de uma sessão ativa, lembre-se de que o comando provavelmente carrega um header Authorization com um token vivo. O parser roda localmente, então o token nunca sai pela rede — ainda assim, faça a rotação dele se for compartilhar o JSON gerado com outra pessoa.
Clique em Converter
Clique no botão verde Converter. O parser lê o comando e monta um objeto JSON com a requisição decomposta: method, url, queryParams, headers, auth, body (parseado se o payload for JSON) e bodyRaw (a string original).
Use o JSON
Copie a saída para uma fixture de teste, um import no Postman, um exemplo de OpenAPI, um script de retry ou onde quer que você precise da requisição capturada como dado. Sem rebuild, sem ferramentas de linha de comando.
Quando isso realmente economiza tempo
Transformar cURL do DevTools em requisições do Postman
O <strong>Copy as cURL</strong> do Chrome solta uma linha gigantesca. Cole aqui, pegue o JSON estruturado e remonte a requisição no Postman, Insomnia ou num template de código sem precisar garimpar flag por flag.
Migrar um shell script para código
Um shell script legado tem chamadas cURL com headers e body hardcoded. Converta cada uma para JSON e depois reescreva chamadas equivalentes em Python, Go ou TypeScript sem erros de transcrição.
Construir fixtures de teste
Capture o formato real das requisições do seu navegador, converta para JSON e use como fixture nos seus testes de integração ou no mock server. O formato bate com o de produção exatamente.
Escrever documentação de API
Um fornecedor te entrega um exemplo em cURL. Converta para JSON e embuta a requisição decomposta na documentação interna ou em exemplos OpenAPI — bem mais legível do que a string crua do curl.
Perguntas frequentes
Meu comando cURL é enviado para algum lugar?
Não. O parser roda inteiramente no seu navegador como JavaScript. Nada do comando — URL, headers, tokens de autenticação, payload do body — vai para um servidor. Você pode confirmar abrindo a aba Network do DevTools e clicando em Converter — zero requisições.
Funciona com a saída do "Copy as cURL" do Chrome?
Sim. O Chrome gera linhas gigantes com uma flag -H por header do navegador e continuações com barra invertida. Tudo isso é parseado corretamente. O mesmo vale para o "Copy as cURL" do Firefox e o equivalente no Safari.
E quanto a --data-urlencode e bodies form-encoded?
Reconhecidos. Pares --data-urlencode chave=valor são reunidos no body como objeto. Para payloads Content-Type: application/x-www-form-urlencoded com uma única flag -d, a string do body também é decodificada via URL para um objeto, assim você visualiza os campos do formulário.
Lida bem com bodies em JSON?
Sim. Se o payload do body for um JSON válido (segundo a especificação RFC 8259), a chave body da saída guarda o objeto/array já parseado. A string crua original fica preservada em bodyRaw, caso você precise.
Quais flags ele entende?
As mais comuns: -X/--request (método), -H/--header, -d/--data/--data-raw/--data-binary/--data-urlencode, -u/--user (basic auth), -b/--cookie. Flags que ele não reconhece (como --insecure, -v) são juntadas num array options para você ver o que ficou de fora.
Funciona com comandos muito longos?
Sim — o parser dá conta de comandos com vários kilobytes sem suar. Como tudo é local, não tem upload, latência de rede nem rate limit.
Ferramentas relacionadas
Se você está mexendo com requisições HTTP e JSON, estas combinam bem: