Conversor de JavaScript para JSON
Cole um objeto literal ou array JavaScript. Receba JSON válido de volta.
O que essa ferramenta faz
Você copiou um objeto literal JavaScript de um arquivo de config, de um seed script ou do debugger, e agora precisa disso como JSON de verdade. O problema: JS aceita chaves sem aspas, aspas simples, vírgulas no fim, undefined, comentários e new Date(...) — nada disso é válido em JSON. Cola tudo aqui, dá um Convert, e recebe um JSON que passa pelo JSON.parse sem um risquinho vermelho sequer.
Ele segue as mesmas regras do JSON.stringify: as chaves ganham aspas duplas, strings entre aspas simples viram aspas duplas, vírgulas no fim somem, comentários são removidos, valores undefined desaparecem (comportamento nativo do stringify), NaN e Infinity viram null, e objetos Date viram strings ISO-8601 conforme a RFC 8259. As regras de formatação numérica do ECMAScript são respeitadas, então 1e3 continua número e 0x1F vira 31.
Também aguenta o que você cola vindo do Node — module.exports = {...}, export default {...} de ES module, ou um simples const config = {...}. Chaves computadas, shorthand properties ({ name }) e spread ({ ...defaults, env: "prod" }) são todos expandidos para o formato final. Objetos e arrays aninhados passam intactos.
Como usar
Três passos, seja colando cinco linhas ou um módulo de config inteiro.
Cole seu JavaScript (ou teste o exemplo)
Joga o código no editor da esquerda. Um object literal, um array de objetos, um export, ou uma declaração const — o parser dá conta de cada um. Clique em Load Sample pra ver um input realista.
Não precisa tirar const, module.exports ou export default. Deixa os comentários aí se quiser — eles saem na hora da saída. Veja a referência do JSON no MDN se quiser revisar o mapeamento de tipos.
Dê Convert
Clique no botão verde Convert. A ferramenta parseia o JS, avalia os valores literais e serializa igualzinho ao que JSON.stringify(obj, null, 2) faria.
Copie o JSON
O painel da direita mostra o JSON já formatado, que parseia limpo em qualquer linguagem. Copie pro body da requisição, pro arquivo de config ou pro snapshot do Jest.
Quando realmente salva
Montar requisições de API
Você tem um objeto literal de um arquivo React ou Express e precisa de um body JSON pro Postman ou curl. Cola, converte, pronto.
Migrar config pra JSON
Migrando de um <code>config.js</code> para um store de config em JSON? Cola o export, pega o JSON válido e solta lá.
Fixtures de teste e mocks
Converte um objeto inline usado num teste Jest em um fixture JSON solto pra MSW, Playwright ou mock server.
Logs e saída do debugger
Copie um valor impresso pelo REPL do Node ou pelo Chrome DevTools (que usam sintaxe de objeto JS, não JSON) e transforme em algo que as ferramentas lá na frente consigam parsear.
Dúvidas comuns
Chaves sem aspas e vírgulas no fim funcionam?
Sim. Chaves identificadoras ganham aspas na saída, aspas simples viram duplas e as vírgulas no fim somem — exatamente o que o ECMAScript permite mas o JSON não.
O que acontece com undefined, NaN, Infinity e funções?
Mesma regra do JSON.stringify: undefined e funções são omitidos dos objetos, NaN e Infinity viram null, e Symbol é descartado. A lista completa está na documentação do JSON.stringify no MDN.
Os Dates são serializados?
Sim. Os valores new Date(...) viram strings ISO-8601 ("2026-03-14T10:30:00.000Z"), mesmo formato que o Date.prototype.toJSON() produz.
Posso colar um módulo ES ou export CommonJS?
Pode — export default { ... }, export const x = { ... } e module.exports = { ... } são todos reconhecidos. A ferramenta extrai o valor exportado e converte ele.
E spread e chaves computadas?
Os dois são resolvidos pro formato final do objeto. { ...defaults, env: "prod" } é mesclado, e { [name]: value } vira { "actualName": value } quando a chave é um literal.
Meu código fica salvo em algum lugar?
O código vai pro backend só pra converter, não é persistido nem logado. Se for colar algo sensível, dá uma relida antes.
Outras ferramentas que podem te servir
JavaScript para JSON é só uma peça do quebra-cabeça. Aqui vão as que combinam bem: