Tabela CSV (.csv)

RFC Padrão

Comma-Separated Values (CSV) é um formato de texto simples amplamente usado para dados tabulares. Cada linha representa um registro, e os campos são separados por delimitadores.

Converter XLSX para CSV

Conversor gratuito de XLSX para CSV no navegador. Converta arquivos instantaneamente no seu dispositivo.

Comprimir CSV online

Privado - os arquivos nunca saem do seu dispositivo

Inspeção e metadados

Sistemas operacionais e analisadores de arquivos identificam arquivos CSV pela sequência inicial de bytes:

Selecione ou solte os arquivos aqui

Privado - os arquivos nunca saem do seu dispositivo

ou colar Ctrl+V
Garantia de privacidade sem transmissão pela rede 0 bytes enviados a servidores externos. Todo o processamento ocorreu localmente no ambiente isolado do navegador.

Assinatura do arquivo em bytes (magic bytes)

Sistemas operacionais e analisadores de arquivos identificam arquivos CSV pela sequência inicial de bytes:

ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):

Sem assinatura fixa

REPRESENTAÇÃO ASCII: Bytes de texto; a codificação pode variar (geralmente UTF-8)

Padronização: RFC 4180 / IETF

Especificações técnicas

Estrutura do contêinerArquivo de texto simples delimitado que representa linhas e colunas de dados tabulares
CompressãoGzip / Deflate reduzem em 85% a 95% o tamanho de registros tabulares repetitivos
Ordem dos bytes (endianness)Fluxo de texto UTF-8 (BOM UTF-8 opcional EF BB BF usado pelo Excel)
Espaços de corNão aplicável
Canais e EstruturaRegistros de linhas delimitados por CRLF com colunas delimitadas por vírgulas
Dimensões MáximasSem limite; pode ser transmitido em fluxo por gigabytes sem carregar o arquivo inteiro na memória
TransparênciaNão aplicável
Streaming e ProgressivoO processamento nativo em fluxo, linha por linha, é compatível com todos os pipelines de dados

Matriz de comparação técnica: CSV e formatos concorrentes

Atributo técnicoCSV (Atual)Excel (XLSX)ParquetJSON
Tipo de arquivoTabela simples em texto puroPlanilha XML compactadaArmazenamento colunar binárioTexto hierárquico
Múltiplas PlanilhasNão (apenas uma tabela plana)Sim (várias pastas de trabalho e planilhas)Armazenamento baseado em partiçõesArrays e objetos aninhados
Tipos de dadosTexto bruto sem tipagemCélulas tipadas, fórmulas, formataçãoTipos de colunas binárias estritasTipos primitivos (string, número e booleano)
Análise de big dataLento (requer leitura linear de cada linha)Não adequado para big dataMuito rápido (eliminação de colunas e aplicação antecipada de predicados)Moderado

Modos comuns de corrupção e guia de recuperação com editor hexadecimal

As colunas deslocam-se para a direita ou a contagem de linhas não corresponde aos dados.

Causa principal: Um campo de texto com vírgula sem aspas ao redor.

Recuperação: A RFC 4180 exige que os campos contendo vírgulas sejam colocados entre aspas duplas: "Smith, John".

Caracteres acentuados aparecem como símbolos estranhos (mojibake como é em vez de é) no Excel.

Causa principal: O Excel abriu um CSV UTF-8 assumindo a codificação de caracteres legada Windows ANSI/CP1252.

Recuperação: Adicione a marca de ordem de byte UTF-8 de 3 bytes (BOM, 0xEF 0xBB 0xBF) ao início do arquivo.

Análise de segurança e vetores de ataque a analisadores

Arquivos CSV abrem diretamente em programas de planilha, como Excel e Google Planilhas, expondo os usuários a ataques de injeção de fórmula (ou injeção CSV).

Vetores de ataque conhecidos

  • Injeção de fórmula: células que começam com "=", "+", "-" ou "@" podem executar macros de planilha ou comandos DDE (por exemplo, =cmd|'/C calc'!A0).
  • Exfiltração de dados por fórmulas HYPERLINK() que, quando clicadas, enviam dados confidenciais das células para servidores remotos controlados por atacantes.

Melhores práticas defensivas: Ao exportar dados de usuários para CSV, acrescente um apóstrofo ou uma tabulação no início de qualquer célula que comece com =, +, - ou @. Isso força o Excel a exibi-la como texto simples.

Origens históricas e marcos

2015O modelo do W3C para dados tabulares e metadados na web define o CSV na Web (CSVW) com descritores de metadados JSON-LD.
2005O IETF publica a RFC 4180, que estabelece a especificação formal para arquivos CSV.
1972O compilador IBM Fortran (H Extended) implementa entrada/saída delimitada por vírgula.

Principais vantagens

  • É muito simples: pode ser lido em qualquer editor de texto e importado para bancos de dados e planilhas.
  • Processamento muito rápido, linha por linha, sem precisar construir um DOM completo na memória.
  • Pouca sobrecarga: não há sintaxe de tags verbosa nem definições de esquema.

Limitações técnicas e desvantagens

  • Sem tipos de dados padrão: números, datas, booleanos e textos são todos armazenados como strings brutas.
  • Sem suporte para várias planilhas, formatação de células, fórmulas ou metadados.
  • Conflitos entre delimitadores (vírgulas em textos ou como separadores decimais em configurações regionais europeias) causam erros frequentes de análise.

Curiosidades técnicas

  • Em muitos países europeus, a vírgula é usada como separador decimal e o ponto e vírgula (;) é usado como delimitador de campos CSV.
  • Historicamente, o Microsoft Excel exigia um BOM UTF-8 (0xEF 0xBB 0xBF) para exibir corretamente caracteres acentuados não ASCII.
  • Em 2020, o Serviço Nacional de Saúde do Reino Unido (NHS) perdeu quase 16.000 registros de rastreamento de contatos da COVID-19. O caso ganhou notoriedade porque os dados foram importados para um formato antigo de planilha do Excel, limitado a 65.536 linhas.

Perguntas técnicas frequentes

O que é a RFC 4180?

A RFC 4180 é o padrão oficial do IETF para CSV. Ela determina que campos com vírgulas, quebras de linha ou aspas duplas sejam envolvidos por aspas duplas, e que as aspas internas sejam escapadas duplicando-as ("").

Por que os arquivos CSV abrem com caracteres corrompidos no Excel?

Versões antigas do Microsoft Excel usam por padrão a página de código local do Windows (como Windows-1252), em vez de UTF-8, ao abrir arquivos CSV diretamente. Adicionar um BOM UTF-8 ao início do arquivo faz com que o Excel decodifique o UTF-8 corretamente.

O que é injeção de CSV (injeção de fórmula)?

A injeção de CSV ocorre quando dados de usuário não confiáveis, iniciados por caracteres que podem acionar fórmulas ("=", "+", "-", "@"), são exportados para uma planilha. Ao abrir o arquivo em programas como o Excel, a planilha executa automaticamente a fórmula ou o comando de intercâmbio dinâmico de dados (DDE), o que pode executar comandos do sistema ou exfiltrar dados.