Lendo CSV do jeito certo
CSV parece trivial até um campo ter vírgula, aspas ou quebra de linha. A RFC 4180 resolve isso colocando o campo entre aspas duplas e duplicando as aspas internas: "Silva, ""Jr.""". Separar as linhas pelas vírgulas quebra esses arquivos; este conversor implementa as regras completas, então endereços, observações e descrições chegam inteiros.
A primeira linha vira as chaves de cada objeto. Com detectar tipos ligado, 42, 3.14, true, false e null viram números, booleanos e null do JSON; valores como 007 ou 01310-100 continuam strings, então CEPs e códigos mantêm os zeros à esquerda.
Exemplo resolvido
sku;nome;preco;estoque
A-001;"Caneca; grande";12.5;true
B-002;"Pôster ""Azul""";8;false
com o delimitador ponto e vírgula vira um array de dois objetos: {"sku": "A-001", "nome": "Caneca; grande", "preco": 12.5, "estoque": true} e {"sku": "B-002", "nome": "Pôster \"Azul\"", "preco": 8, "estoque": false}.
Como funciona
A página lê o texto numa passada com um parser RFC 4180: campos entre aspas podem conter o delimitador, aspas (escritas duas vezes) e quebras de linha, e os registros podem terminar com CRLF ou LF. O primeiro registro vira o cabeçalho, a menos que você desligue isso; aí cada linha vira um array. Com a detecção de tipos, uma célula que seja exatamente um número JSON, true, false ou null é convertida; o resto, inclusive números com zero à esquerda ou vírgula decimal, continua string. Use JSON para CSV no caminho inverso. Tudo roda nesta aba.
Perguntas frequentes
Meu CSV usa ponto e vírgula. Funciona?
Sim. Escolha o delimitador ponto e vírgula, comum em exportações do Excel configurado para o Brasil.
Por que 007 continuou string?
Zeros à esquerda não são permitidos em números JSON e costumam indicar um código, como um CEP, então a página mantém o texto.
Os campos podem ter quebra de linha?
Sim, se estiverem entre aspas, como a RFC 4180 permite.
Meu arquivo é enviado?
Não. Tudo roda no navegador.
Fontes
- RFC 4180 — Common Format and MIME Type for CSV Files
- RFC 8259 — The JavaScript Object Notation (JSON) Data Interchange Format
- Wikipedia — Comma-separated values
Revisado em 17 de out. de 2026 · vetores de teste fixtures/dev/csv-to-json/