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.

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.
| No JSON | O que é | Na célula do CSV | O que aconteceu |
|---|---|---|---|
-5 | número negativo | -5 | saiu 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 | '@suporte | ganhou 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 texto | 00845678909 | saiu igual |
9007199254740993 | inteiro maior que 2 elevado a 53 | 9007199254740993 | saiu 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 |
true | booleano | true | saiu igual |
null | nulo | vazia | virou 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.
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.
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.
Calculadoras relacionadas
Guias sobre este tema
Cores HEX, RGB e HSL
Entenda os formatos de cor HEX, RGB e HSL, como converter entre eles, como calcular contraste para acessibilidade e como usar cores com mais consistência em interfaces web, com exemplo prático.
Comparar textos e JSON
Entenda como comparar textos, JSON e trechos de código, o que significam linhas adicionadas, removidas e alteradas, quando ignorar espaços e maiúsculas, e como evitar erros em revisão técnica.
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.
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.