Conversor de CSV para Excel

Envie ou cole texto CSV e TSV e receba uma pasta .xlsx genuína: o delimitador é detectado, campos entre aspas são analisados direito e você nomeia a aba.

A análise e a montagem da pasta acontecem localmente no seu navegador. Nada é enviado.

CSV / TSV para XLSX

Clique para escolher um arquivo CSV ou arraste um arquivo .csv ou .tsv aqui — você também pode colar abaixo

Delimitador

Como funciona

O texto de entrada — de um arquivo ou da área de transferência — passa por uma pequena e rigorosa máquina de estados de CSV, e a grade resultante é embalada numa pasta OOXML de verdade pelo SheetJS e oferecida como download local. As duas etapas acontecem dentro da aba.

Um analisador que entende aspas, não um split()
Os campos são percorridos caractere a caractere: trechos entre aspas absorvem delimitadores, quebras de linha e aspas duplas, e finais CRLF/LF são aceitos. É isso que faz uma célula com Ela disse "oi", alto caber numa única célula do Excel em vez de explodir em três colunas. Um BOM UTF-8 no texto colado é ignorado.
Detecção automática com sobrescrita
No modo automático, a primeira linha não vazia é contada fora das áreas entre aspas para vírgula, ponto e vírgula e tabulação; o mais frequente vence e seu nome aparece sob o seletor. Force o delimitador manualmente se o palpite errar; a pré-visualização é reanalisada a cada mudança.
O que vai para dentro da pasta
Cada célula é escrita como texto — caracteres exatos, sem adivinhar tipos, zeros à esquerda intactos — sob o nome de aba que você der (o Excel proíbe \ / ? * [ ] : e limita nomes a 31 caracteres, então eles são limpos automaticamente). Você recebe um contêiner .xlsx de verdade: um zip com o XML da planilha, exatamente o que o Excel de desktop escreve.

Perguntas frequentes

Quantas linhas ele aguenta? O limite de 1.048.576 linhas do Excel é um problema?

O próprio .xlsx limita uma aba a 1.048.576 linhas por 16.384 colunas, mas você esbarra em outro muro antes: este conversor monta a pasta na memória da aba do navegador. Textos de até alguns megabytes convertem sem esforço; a página rejeita deliberadamente o que passa de 5 MB para que uma colagem gigante falhe com um aviso claro em vez de travar a aba. Divida exportações muito grandes e converta em partes.

Meus números e datas saíram como texto. Isso é um bug?

É uma escolha deliberada e honesta. O CSV não carrega informação de tipo — os caracteres 1.097 podem ser um número com separador de milhar ou um pedaço de frase, e 01-02-2026 é ambíguo entre dois formatos de data. Errar o palpite corrompe dados silenciosamente, então cada célula é salva como texto exatamente como foi escrita (é isso também o que protege CEPs como 04510-000 de perder os zeros iniciais). Ao abrir o arquivo, o Excel ainda oferece a própria conversão.

Então por que converter para .xlsx se os valores continuam sendo texto?

Porque o contêiner já entrega muito: um arquivo em vez de diálogos de importação sem fim, uma aba com nome, sem ambiguidade de delimitador, sem adivinhação de codificação, e um formato que Excel, Numbers e Google Sheets abrem com duplo clique. E no instante em que uma célula é editada no Excel o tipo volta — o armazenamento como texto descreve apenas o ponto de partida.

Como funciona a detecção automática do delimitador e posso sobrescrevê-la?

A primeira linha não vazia é lida fora das seções entre aspas e as ocorrências de vírgula, ponto e vírgula e tabulação são contadas; o vencedor é usado e rotulado sob o seletor. A detecção é só uma heurística — um cabeçalho como nome,comentário fica bom, mas um arquivo de uma coluna com vírgulas soltas não — então o seletor sempre permite forçar vírgula, ponto e vírgula ou tabulação, e a pré-visualização é reanalisada na hora.

Algo é enviado para um servidor?

Não. O texto é analisado e a pasta é montada dentro da sua aba; o .xlsx é devolvido como download local. A única requisição de rede é o carregamento pontual da biblioteca SheetJS na CDN pública — seus dados nunca saem do dispositivo.