Conversor de Dados: CSV, JSON, YAML e XML

Converta CSV, JSON, YAML e XML sem perder dado: CPF com zero na frente e número grande continuam inteiros, e toda transformação é avisada. Tudo no seu navegador.

Revisão técnica: Cesar Gargiulo (segurança da informação)
Valim, o mascote do ValorFinal, representando a categoria Tecnologia

Processamento 100% local no seu navegador. Nenhum dado, texto, arquivo ou senha é enviado para servidor.

Só precisa de CSV para JSON? A página converter CSV para JSON já abre nessa conversão, com prévia em tabela e exemplo carregado.

0 caracteres · 0 linhas · limite 200.000

Como cada valor do JSON sai na célula do CSV

Deslize a tabela para o lado: são 4 colunas.

Resultado do conversor de JSON para CSV para 11 valores de exemplo: o valor no JSON, o que ele representa, a célula gerada no CSV e o que aconteceu com ele.
No JSONO que éNa célula do CSVO que aconteceu
-5número negativo-5saiu igual
"=SOMA(A1:A9)"fórmula de planilha'=SOMA(A1:A9)ganhou um apóstrofo na frente, para a planilha não ler como fórmula
"+10%"variação escrita com sinal de mais'+10%ganhou um apóstrofo na frente, para a planilha não ler como fórmula
"@suporte"texto que começa com arroba'@suporteganhou um apóstrofo na frente, para a planilha não ler como fórmula
"Silva, João"texto com vírgula"Silva, João"foi para entre aspas, por causa da vírgula
"polegada 3\""texto com aspas"polegada 3"""foi para entre aspas, e as aspas de dentro dobraram
"00845678909"CPF guardado como texto00845678909saiu igual
9007199254740993inteiro maior que 2 elevado a 539007199254740993saiu com todos os dígitos; quem lê com JSON.parse escreveria 9007199254740992
{"rua":"A","numero":10}objeto dentro do registro"{""rua"":""A"",""numero"":10}"virou o JSON do objeto dentro de uma célula, entre aspas
truebooleanotruesaiu igual
nullnulovaziavirou célula vazia

Cada linha foi gerada pelo próprio conversor desta página, com vírgula como delimitador, quando a página foi publicada. Aspas e vírgula: RFC 4180. Apóstrofo contra fórmula: OWASP, CSV Injection.

Em resumo

O conversor de dados faz 6 conversões entre CSV, JSON, YAML e XML, sempre com o JSON no meio, e roda no seu navegador: o texto colado não vai para servidor nenhum. Na tipagem, um texto só vira número quando a volta devolve exatamente o que estava escrito. Assim o CPF 00845678909 continua texto em vez de virar 845678909, e o preço 249.90 também, porque voltaria como 249.9.

No caminho contrário, o número do JSON sai como foi escrito no CSV, no YAML e no XML. O tipo numérico do JavaScript só garante inteiro exato até 9.007.199.254.740.991, e por isso o identificador 9007199254740993 viraria 9007199254740992 num conversor que lê com JSON.parse. Na exportação para CSV, o texto que começa com =, +, - ou @ ganha um apóstrofo contra fórmula de planilha, o risco que a OWASP chama de CSV Injection: =SOMA(A1:A9) sai '=SOMA(A1:A9), e o número -5 continua sem apóstrofo. O que a conversão muda ou preserva aparece num aviso junto do resultado. A tela aceita até 200 mil caracteres por vez, e a leitura de CSV segue a RFC 4180, de outubro de 2005.

Outras ferramentas de dados e formatos

  • Formatador de JSONFormate, valide e minifique JSON sem que um número grande mude de valor nem uma chave repetida desapareça. O erro vem com a linha e a coluna. Tudo no seu navegador.
  • CSV para JSONCole o CSV e receba o JSON no navegador, com o delimitador reconhecido sozinho, com ou sem cabeçalho, prévia em tabela e download local. CPF com zero à frente e número grande continuam intactos.
  • Codificador Base64Codifique texto para Base64 ou decodifique Base64 para texto diretamente no navegador. Suporte completo a UTF-8, emojis e caracteres acentuados. Processamento 100% local.
  • Codificar e decodificar URLCodifique, decodifique e analise URLs completas no navegador. Separa protocolo, host, porta, caminho, query string e fragmento. Usa APIs nativas, processamento 100% local, sem fetch externo.
  • Conversor de timestamp UnixConverta Timestamp Unix para data/hora legível ou vice-versa. Suporte a segundos e milissegundos. Exibe ISO 8601, UTC, data e hora local. Processamento 100% local no navegador.
  • Conversor binário, decimal e hexadecimalConverta números entre decimal, binário, hexadecimal e octal instantaneamente. Informe o valor e a base de origem e veja todas as representações em paralelo. Processamento 100% local.

Todas as ferramentas, por tarefa, estão em ferramentas de tecnologia online.

Gostou? Mostre pra todo mundo

Gere um card bonito com a marca do ValorFinal para postar nos Stories ou mandar no WhatsApp. Nada que você digitou aparece no card.

Coloque no seu site

Escolha a conversão, cole os dados e clique em Converter. O resultado aparece em texto e, quando aplicável, em uma prévia de tabela, pronto para copiar ou baixar. Tudo local no navegador.

Como funciona a conversão

O JSON é o formato central: CSV, YAML e XML são convertidos a partir dele ou para ele. O leitor de CSV respeita aspas, delimitador dentro do campo e quebra de linha dentro do campo, seguindo a RFC 4180. A leitura de JSON usa o mesmo analisador do formatador de JSON, que preserva o literal do número: um identificador acima de 2 elevado a 53 chega ao CSV, ao YAML e ao XML com todos os dígitos, em vez de chegar já alterado.

A regra que evita perda silenciosa. Um texto só vira número quando a conversão de volta devolve exatamente o que estava escrito. É essa simetria que protege CPF, CEP, código de barras, porta com zero à frente e identificador longo. Quando o valor fica como texto por esse motivo, o resultado lista as colunas afetadas; quando uma célula precisa de apóstrofo contra fórmula de planilha, o resultado também diz. Nenhuma transformação acontece em silêncio, e o que o conversor não sabe ler vira recusa com a linha do problema, em vez de um resultado que parece completo e não é.

Se a sua conversão é só de CSV para JSON, a página converter CSV para JSON já abre nessa direção, com o delimitador reconhecido sozinho e prévia em tabela do que vai para o arquivo.

Para apenas embelezar o resultado, use o formatador de código; para validar JSON e ver erro por linha, o formatador e validador de JSON.

Fórmula

A regra de conversão de tipo, escrita por extenso:
texto vira número apenas se String(Number(texto)) === texto

Por isso "007" continua texto (voltaria como "7") e "12345678901234567890" também (voltaria com os últimos dígitos trocados), enquanto "34.9" e "-5" viram número.

Base: RFC 4180 (CSV), RFC 8259 (JSON), a especificação do YAML 1.2, XML 1.0 do W3C e a recomendação da OWASP sobre CSV Injection. Processamento local no navegador.

Limitações

  • YAML e XML cobrem um subconjunto comum, não toda a especificação. Bloco de texto com | ou >, lista na mesma linha, âncora, alias e marca de tipo do YAML são recusados com a linha do problema.
  • CSV é plano: objeto ou lista dentro de uma célula vira JSON como texto, e o resultado avisa quando isso acontece.
  • XML não guarda a ordem entre texto e tag no mesmo elemento: quando os dois se misturam, o texto vai junto para #text e o resultado avisa.
  • Na ida para XML, o JSON que começa com uma lista vira itens <item> dentro de <root>, porque o XML aceita um só elemento raiz. Lista dentro de lista sai em sequência na mesma tag. Nos dois casos o resultado avisa.
  • A conversão não valida o seu esquema. Ela diz se o formato é legível, não se os campos são os que o seu sistema espera.
  • Limite de 200 mil caracteres colados por vez, para não travar a aba.

Guia completo

Como converter CSV, JSON, YAML e XML sem perder estrutura

Veja quando usar CSV, JSON, YAML e XML, como converter entre os formatos sem perder dados, e os cuidados com delimitadores, cabeçalhos, aspas, arrays e estruturas aninhadas.

Coloque esta ferramenta no seu site, de graça

Tem site, blog ou loja virtual? Esta ferramenta tem uma versão para incorporar: você copia um código e cola no seu HTML. Sem cadastro, sem mensalidade e sem limite de acessos, e ela roda no navegador de quem visita o seu site.

dados para sitever todas as ferramentas para site

Calculadoras relacionadas

Guias sobre este tema

ValorFinal VIP: Sem anúncios, até 500 cenários salvos e comparação de cenários lado a lado.

Conversão auditável, com o fator de conversão à vista

Atualizado em . Fontes: RFC 4180 (CSV) / RFC 8259 (JSON) / especificações YAML e XML.

Processamento local: esta ferramenta roda no seu navegador e nada é enviado a servidores automaticamente.

Como validamos

Referências técnicas

Links externos para o que foi consultado na construção desta página, com a natureza de cada fonte identificada. O conteúdo delas pode mudar sem aviso; em caso de divergência, vale sempre a fonte primária.

Incorpore esta calculadora no seu site (grátis)

Copie e cole o código no seu site. A calculadora se atualiza sozinha. O crédito ao ValorFinal vem junto do código e a gente agradece quem mantém, mas ele é opcional: pode remover sem perder o widget. O link sai com rel="nofollow", ou seja, não transfere autoridade de busca para a gente.

Perguntas frequentes

Quais conversões estão disponíveis?

São 6, cada uma numa aba: CSV para JSON, JSON para CSV, JSON para YAML, YAML para JSON, XML para JSON e JSON para XML. O JSON fica no meio de todas, então para ir de CSV a YAML você faz duas passagens: primeiro CSV para JSON, depois JSON para YAML. Esse desenho cobre o caminho mais comum entre planilha, API e arquivo de configuração. Quem só precisa de CSV para JSON tem uma página própria, que já abre com uma planilha de exemplo convertida.

Como converter JSON para CSV?

Abra a aba JSON → CSV, cole o JSON no campo Entrada e clique em Converter. O formato que vira tabela direto é uma lista de objetos, como [{"nome":"Ana","idade":30}]: cada chave vira uma coluna, na ordem em que aparece pela primeira vez, e cada objeto vira uma linha. O campo Delimitador escolhe o separador; para abrir no Excel configurado em português, o ponto e vírgula costuma funcionar melhor. Uma lista de valores simples, como [1, 2, 3], vira uma coluna só, chamada valor.

Os dados que eu colo são enviados para servidor?

Não. A conversão roda no seu navegador, em JavaScript, e o texto colado não sai do aparelho: não vai para o ValorFinal nem para terceiros, não entra na URL e não fica salvo depois que você fecha a aba. Dá para conferir desligando a internet com a página aberta, e o conversor continua funcionando. A única requisição que a ferramenta dispara é o registro de uso da estatística do site, uma vez, no primeiro clique em Converter, com o endereço da página e nada do conteúdo.

O conversor estraga CPF, CEP e código com zero na frente?

Não, e esse era o defeito corrigido em 13 de setembro de 2026. A regra antiga transformava em número tudo o que parecesse número, então o CPF 00845678909 virava 845678909, o código 007 virava 7 e 12345678901234567890 perdia os três últimos dígitos. A regra nova é simples e simétrica: o valor só vira número quando a volta é idêntica ao que estava escrito. Como 007 voltaria como 7, ele continua texto. As colunas em que isso aconteceu são listadas no resultado, para você saber o que foi preservado e por quê.

Como o CSV trata vírgulas e aspas dentro dos campos?

O leitor segue a RFC 4180: um campo entre aspas duplas pode conter o delimitador, quebra de linha e aspas escapadas como duas aspas seguidas. Um endereço escrito como "Rua A, 100" continua sendo uma coluna só. O separador é escolhido no campo Delimitador, entre vírgula, ponto e vírgula, tabulação e barra, e na aba de CSV para JSON ele é reconhecido pelo próprio texto colado. No caminho inverso, a célula que tem vírgula, aspas ou quebra de linha sai entre aspas, com as aspas de dentro dobradas.

A exportação para CSV é segura contra fórmulas maliciosas?

É, e sem estragar dado legítimo. Célula que começa com igual, mais, arroba ou hífen pode ser lida como fórmula ao abrir o arquivo numa planilha, e nesse caso ela recebe um apóstrofo na frente. A correção de setembro de 2026 acrescentou uma exceção necessária: número negativo como -5 começa com hífen, mas é número, e nenhuma planilha executa número. Antes ele saía como '-5 e virava texto na coluna. Quando alguma célula recebe o apóstrofo, o resultado avisa, com o caractere que a fazia parecer fórmula.

E se o arquivo vier do Excel?

Funciona. Quando o Excel salva no formato CSV UTF-8, ele grava uma marca invisível de ordem de byte no começo do arquivo, e ela fazia o nome da primeira coluna vir com um caractere invisível na frente, de modo que nenhum acesso por nome encontrava o campo. Essa marca é removida na entrada de CSV, JSON, YAML e XML. Planilha salva no Excel em português costuma usar ponto e vírgula como separador, porque a vírgula é o separador decimal; a aba de CSV para JSON reconhece isso sozinha ao colar.

O suporte a YAML e XML cobre tudo?

Não. O conversor lê o YAML do dia a dia: mapas e listas por indentação, texto com ou sem aspas, número, true, false, null e comentário. Bloco de texto com | ou >, lista escrita na mesma linha como [a, b], âncora, alias e marca de tipo não são lidos, e a conversão para com a linha e o motivo em vez de entregar um JSON pela metade. No XML entram elementos, atributos, CDATA e as entidades comuns; o prefixo de namespace fica no nome da tag. XML cortado ou com tag trocada é recusado com a explicação.

Converter JSON para YAML ou XML muda algum número?

Não. O JSON é lido pelo mesmo analisador do formatador de JSON, que guarda o número como foi escrito, então 9007199254740993 sai 9007199254740993 no CSV, no YAML e no XML. Um conversor que lê com JSON.parse escreveria 9007199254740992, porque o tipo numérico do JavaScript só garante inteiro exato até 9.007.199.254.740.991. Texto com cara de número ganha aspas no YAML: {"id":9007199254740993,"cep":"01311000"} vira id: 9007199254740993 e cep: "01311000", porque sem as aspas um leitor de YAML tomaria o CEP por número.

O que significam @attributes e #text no JSON gerado do XML?

São as duas chaves que o conversor usa para o que o JSON não tem. Os atributos de um elemento vão para @attributes, sempre como texto: <item id="5">caneta</item> vira {"item": {"@attributes": {"id": "5"}, "#text": "caneta"}}. O #text guarda o texto do elemento quando ele também tem atributo ou filho. Elemento que se repete com o mesmo nome vira lista, e elemento vazio vira null. Quando texto e tag se misturam, como em <p>Olá <b>mundo</b> de novo</p>, os trechos de texto vão juntos para #text e o resultado avisa.

O que acontece com objeto dentro de objeto ao gerar CSV?

CSV é plano e não tem como representar aninhamento. A célula recebe o JSON do objeto como texto, entre aspas e com as aspas de dentro dobradas, e o resultado avisa que isso aconteceu. A tabela desta página mostra o caso: um endereço com rua e número vira uma célula só. Se você precisa das chaves internas em colunas próprias, achate o JSON antes de converter, escrevendo endereco_rua e endereco_numero como chaves do primeiro nível.

Posso baixar o resultado?

Pode. O botão Baixar salva o resultado com a extensão do formato de destino, num arquivo chamado convertido.json, convertido.csv, convertido.yaml ou convertido.xml. O arquivo é montado pelo próprio navegador a partir do texto que já está na tela, sem passar por servidor, e o botão Copiar leva o mesmo texto para a área de transferência. Quando a conversão gera tabela, a prévia mostra as 50 primeiras linhas, mas a cópia e o download trazem o arquivo inteiro.