Json To Csv LogoJson To Csv

CSV muito grande para o Excel: por que ele não abre e o que fazer (Guia 2026)

O Excel para em 1,048,576 linhas por planilha, e um arquivo CSV com mais linhas do que isso abre cortado, com o restante sumindo em silêncio da pasta de trabalho. O arquivo em si está certo: o CSV é texto simples e não tem limite de tamanho próprio, então o limite vem do programa que abre o arquivo, e não do arquivo. A correção não é uma configuração dentro do Excel, porque o limite da grade é fixo. Divida o arquivo em partes menores que o limite, carregue o arquivo inteiro no Modelo de Dados com o Power Query ou veja apenas as linhas de que você precisa. Nunca salve por cima do original, porque salvar uma pasta de trabalho cortada apaga as linhas que o Excel nunca carregou.

Atualizado: 2026-11-0911 min de leitura

Diagnostique em 30 segundos: conte as linhas antes de culpar o arquivo

A primeira coisa a descobrir quando o Excel se recusa a abrir o seu arquivo CSV ou o abre cortado é quantas linhas o arquivo realmente tem, porque a correção depende totalmente desse número, e adivinhar desperdiça tempo. Um arquivo com 900,000 linhas abre bem no Excel, e o problema é outra coisa, como um delimitador ou um problema de codificação, que os guias companheiros cobrem. Um arquivo com 1,200,000 linhas bate no limite da grade, e nenhuma configuração dentro do Excel vai fazer o arquivo caber. Conte primeiro e depois escolha a correção que combina com a contagem, em vez de tentar correções ao acaso.

A contagem mais rápida não precisa de nenhum programa além de um terminal. No Windows, abra o PowerShell e execute Get-Content com Measure-Object, ou em um Mac ou em uma máquina Linux execute wc -l no arquivo, que conta as quebras de linha. Um editor de texto com a contagem de linhas na barra de status também funciona, embora um arquivo muito grande possa demorar para abrir em um editor. O número que você obtém é de linhas, e não de linhas de dados: um arquivo com cabeçalho tem uma linha a mais do que linhas de dados, e valores que contêm quebras de linha dentro de aspas podem ocupar mais de uma linha, então a contagem de linhas é um limite superior, e não uma contagem exata de linhas, e para a maioria das exportações ela é exata o bastante para decidir.

Para uma contagem exata, use o módulo csv do Python, que lê o arquivo uma linha por vez e nunca o carrega inteiro na memória, então funciona em arquivos grandes demais para uma planilha. O trecho abaixo contou um arquivo de teste de 1,200,000 linhas de dados em poucos segundos e concordou exatamente com a contagem de linhas, porque esse arquivo não tinha quebras de linha entre aspas. Se as duas contagens discordarem no seu arquivo, confie na contagem do módulo csv: a diferença é de valores com quebras de linha embutidas, e isso também mostra que o arquivo tem valores de várias linhas entre aspas, o que importa para a receita de divisão mais adiante neste guia.

Conte as linhas de um arquivo CSV
Terminal (Mac or Linux):
$ wc -l big_sample.csv
1200001 big_sample.csv

PowerShell (Windows):
PS> (Get-Content big_sample.csv | Measure-Object -Line).Lines
1200001

Python (exact row count, one row at a time):
import csv
with open('big_sample.csv', newline='') as f:
    reader = csv.reader(f)
    header = next(reader)
    rows = sum(1 for _ in reader)
print(header, rows)
# ['id', 'name', 'total'] 1200000

Lines minus the header row: 1,200,001 - 1 = 1,200,000 data rows.
That is 151,425 rows over Excel's limit.

Repare no que este arquivo de teste prova: um CSV de 1,200,000 linhas com três colunas curtas tem apenas cerca de 32 MB no disco, então o problema não é o tamanho do arquivo em megabytes. As pessoas esperam que um arquivo grande signifique centenas de megabytes, mas um arquivo estreito com um milhão de linhas curtas é pequeno no disco e ainda assim grande demais para a grade. A contagem de linhas é o número que importa, e não os megabytes, e é por isso que a contagem é o primeiro passo. Se o seu arquivo tem mais de 1,048,575 linhas de dados, você tem um problema de limite da grade, e o restante deste guia se aplica. Se ele tem menos do que esse número, o problema está em outro lugar, e os guias companheiros sobre o problema de uma única coluna, o problema de codificação e o problema dos zeros à esquerda são os lugares para procurar.

O número que importa: 1,048,576 linhas

O Excel comporta no máximo 1,048,576 linhas por 16,384 colunas em uma planilha, e uma única célula comporta no máximo 32,767 caracteres. Esses são os limites publicados para o formato atual de planilha, e eles não mudam há anos. A linha de cabeçalho conta como uma das 1,048,576, então um arquivo CSV com cabeçalho pode ter no máximo 1,048,575 linhas de dados em uma planilha. Um arquivo com 1,048,576 linhas de dados mais um cabeçalho passa uma linha do limite, e o Excel o corta. O formato antigo .xls é bem menor, com 65,536 linhas por planilha, então se o seu arquivo veio de um sistema antigo, verifique o formato também, mas para um arquivo .csv aberto em um Excel moderno, 1,048,576 é o número.

O formato CSV em si não define limite nenhum. Um arquivo CSV é texto simples, com linhas separadas por quebras de linha e valores separados por um delimitador, e a descrição do formato, a RFC 4180, não diz nada sobre um número máximo de linhas, colunas ou bytes. Um arquivo CSV pode ter tantas linhas quanto o seu disco tiver espaço, e o arquivo de teste deste guia tem 1,200,000 linhas em 32 MB sem nenhum problema. O limite vem do programa que abre o arquivo, nunca do arquivo em si, e é por isso que o mesmo arquivo abre por completo em um editor de texto ou em um banco de dados e corta no Excel. Culpar o arquivo, ou o programa que o exportou, perde o ponto: quem exportou fez o trabalho dele, e quem lê o arquivo é que tem o teto.

Dois outros números moldam o problema na prática. O primeiro é a contagem de colunas: 16,384 colunas é generoso, e quase nenhum CSV real chega perto disso, então as colunas raramente são o limite que trava. O segundo é a memória: o Excel carrega na memória as linhas que mostra, e um arquivo perto do limite de linhas com linhas largas pode deixar o programa muito lento ou travá-lo, mesmo quando a contagem de linhas está tecnicamente abaixo do limite. Um milhão de linhas de valores curtos abre bem, enquanto um milhão de linhas de valores de texto longos pode não abrir, então trate 1,048,576 como o teto rígido e algumas centenas de milhares de linhas largas como o teto prático. Se o seu arquivo é lento e também é grande, a receita de divisão deste guia ajuda duas vezes, porque arquivos menores são arquivos mais rápidos.

O que o Excel realmente faz quando o arquivo é grande demais

Quando você abre um arquivo CSV com mais linhas do que a grade comporta, o Excel não recusa o arquivo. Ele carrega as primeiras 1,048,576 linhas, incluindo o cabeçalho, e mostra um aviso de que o conjunto de dados é grande demais para a grade e que salvar a pasta de trabalho vai perder os dados que não foram carregados. A página de suporte da própria Microsoft diz exatamente isso em todos os idiomas: o conjunto de dados passa do número de linhas disponíveis no Excel, então alguns dados não foram carregados. O restante das suas linhas continua no arquivo no disco, sem tocar, mas não está na pasta de trabalho, e nada na tela mostra quais linhas faltam, exceto a contagem.

A parte silenciosa é o que torna isso perigoso. A pasta de trabalho parece completa: ela tem um cabeçalho, tem linhas até o fim da planilha, e as linhas que faltam simplesmente não estão lá, sem nenhuma lacuna e sem nenhum marcador. Se você ordenar, filtrar ou montar um gráfico nessa pasta de trabalho, você trabalha com um conjunto de dados parcial e os resultados saem errados de um jeito difícil de perceber, porque o primeiro milhão de linhas muitas vezes parece representativo. Totais, médias e contagens calculados a partir da pasta de trabalho cortada ficam todos abaixo do valor real, e o erro cresce com cada linha além do limite. Um arquivo com 1,200,000 linhas perde cerca de um oitavo dos dados em silêncio, e um arquivo com 5 milhões de linhas perde quatro quintos, parecendo exatamente igual na tela.

A parte destrutiva acontece quando você salva. Salvar a pasta de trabalho cortada grava de volta apenas as linhas que o Excel carregou, então as linhas que nunca entraram na grade somem do arquivo salvo para sempre. O guia companheiro sobre salvar cobre essa ida e volta em detalhe, mas a regra aqui é absoluta: nunca salve por cima do arquivo CSV original a partir de uma pasta de trabalho que avisou sobre o limite da grade. Se você já salvou por cima da única cópia, verifique o histórico de versões do OneDrive ou do SharePoint, um backup, um anexo de e-mail ou o sistema de origem de onde o arquivo veio, porque o arquivo salvo não tem mais as linhas que faltam e nenhuma fórmula pode trazê-las de volta. Feche a pasta de trabalho cortada sem salvar e comece de novo a partir do arquivo original com uma das correções abaixo.

Os limites por aplicativo: Excel, Planilhas Google, LibreOffice e as ferramentas sem limite

Nem todo programa para no mesmo lugar, então a correção certa às vezes começa com um programa diferente. O Excel para em 1,048,576 linhas por 16,384 colunas por planilha, como acima. O LibreOffice Calc para nas mesmas 1,048,576 linhas, mas só com 1,024 colunas, então também não ajuda em um arquivo largo. O Apple Numbers avisa quando um arquivo passa de cerca de 1,000,000 linhas, então está na mesma classe. O Planilhas Google conta células em vez de linhas: uma planilha pode ter até 20 milhões de células, e uma importação de CSV também tem um teto de 100 MB, então um arquivo estreito pode ter mais linhas do que o Excel permite, enquanto um arquivo largo tem menos, e o limite exato de linhas depende da sua contagem de colunas. Um arquivo de 10 colunas pode ter cerca de 2 milhões de linhas no Planilhas Google, enquanto um arquivo de 50 colunas tem cerca de 400,000.

Editores de texto não têm limite próprio de linhas, só a memória da sua máquina, então um CSV grande abre por completo no Bloco de Notas, no TextEdit ou no VS Code como texto simples, e você pode pesquisar nele, ler as primeiras e as últimas linhas e verificar o cabeçalho, embora não possa ordenar ou filtrar como em uma planilha. Isso faz do editor de texto a ferramenta certa para inspecionar um arquivo grande e a ferramenta errada para analisá-lo. O Python e o seu módulo csv também não têm limite de linhas, só memória, e como o módulo csv lê uma linha por vez, ele pode contar, filtrar e dividir arquivos bem maiores do que qualquer planilha, usando quase nenhuma memória. A rota do banco de dados não tem limite prático de linhas: importe o CSV para o SQLite, o Postgres ou até um banco de dados de área de trabalho, e um milhão de linhas vira uma tabela pequena.

A regra prática é combinar a ferramenta com o trabalho, e não forçar o arquivo a entrar na ferramenta que você tem aberta. Se você precisa olhar os dados, use um editor de texto. Se você precisa filtrar ou dividir o arquivo, use um programa em Python. Se você precisa analisar tudo em uma grade, use a correção do Modelo de Dados abaixo ou um banco de dados. Se você só precisa de um resumo, agregue o arquivo com um programa e abra o resumo pequeno no Excel. O arquivo não é o problema, e a planilha não está quebrada. A incompatibilidade é entre um conjunto de dados de um milhão de linhas e uma grade de um milhão de linhas, e a correção é parar de pedir que a grade comporte mais do que ela pode.

Correção 1: divida o arquivo em partes que o Excel consegue abrir

Dividir é a correção a tentar primeiro quando você precisa dos dados em planilhas comuns, porque é simples, não precisa de nada além do Python, e cada parte abre normalmente no Excel com o cabeçalho intacto. A receita é ler o arquivo uma linha por vez, gravar no máximo 1,048,575 linhas de dados em cada parte e repetir a linha de cabeçalho no topo de cada parte, para que cada parte seja um arquivo CSV completo por conta própria. Use 1,048,575 em vez de 1,048,576, porque o cabeçalho conta como uma linha, e uma parte com 1,048,576 linhas de dados mais um cabeçalho passaria uma linha do limite de novo. O programa abaixo faz exatamente isso, usando só a biblioteca padrão do Python, então não há nada para instalar.

O programa foi testado no arquivo de amostra de 1,200,000 linhas da seção de diagnóstico, que tem 32 MB no disco. Ele produziu duas partes: a primeira tem o cabeçalho mais 1,048,575 linhas de dados, exatamente 1,048,576 linhas, e a segunda tem o cabeçalho mais as 151,425 linhas de dados restantes. Juntar as partes de novo, tirando o cabeçalho repetido da segunda parte e concatenando, produziu um arquivo idêntico ao original byte a byte, confirmado pela comparação dos hashes dos arquivos, então a divisão não perde nada e não muda nada. Um arquivo de 5 milhões de linhas se dividiria em cinco partes do mesmo jeito, e um arquivo de 10 milhões de linhas em dez, sem limite superior exceto o espaço em disco.

Dois detalhes importam quando você divide. Primeiro, mantenha o cabeçalho em cada parte, porque uma parte sem cabeçalho abre com a primeira linha de dados como cabeçalho, e os nomes das colunas somem. Segundo, nunca divida o arquivo abrindo no Excel e copiando linhas à mão, porque a cópia manual começa a partir da pasta de trabalho cortada e as linhas além do limite já faltam. Divida a partir do arquivo original no disco, com um programa, antes que o Excel toque nele. Depois que as partes existem, abra uma por vez, faça o seu trabalho e guarde o arquivo original separado, porque as partes são cópias de trabalho e o original é a única cópia completa.

Divida um CSV grande em partes do tamanho do Excel
import csv

LIMIT = 1_048_575  # data rows per chunk (header counts as a row)

with open('big.csv', newline='') as f:
    reader = csv.reader(f)
    header = next(reader)
    chunk = 0
    count = 0
    out = open(f'chunk_{chunk}.csv', 'w', newline='')
    writer = csv.writer(out)
    writer.writerow(header)
    for row in reader:
        if count == LIMIT:
            out.close()
            chunk += 1
            count = 0
            out = open(f'chunk_{chunk}.csv', 'w', newline='')
            writer = csv.writer(out)
            writer.writerow(header)
        writer.writerow(row)
        count += 1
    out.close()

print(f'split into {chunk + 1} chunks')

# Verified on a 1,200,000-row file (32 MB):
# chunk_0.csv = 1,048,576 lines (header + 1,048,575 rows)
# chunk_1.csv = 151,426 lines (header + 151,425 rows)
# Rejoining the chunks (header stripped from chunk 1 onward)
# reproduced the original file byte-identically.

Mais uma vantagem da divisão merece menção: as partes são arquivos independentes, então você pode passar uma parte para um colega, abrir uma parte em uma máquina lenta ou processar as partes em paralelo, e nada disso é possível com um único arquivo que nenhuma planilha consegue abrir. Se o arquivo cresce toda semana, guarde o programa e execute-o em cada nova exportação, em vez de dividir à mão toda vez. E se você dividiu porque precisa enviar os dados para algum lugar, lembre que as partes são as cópias de trabalho: o arquivo original é o que deve ser arquivado, e as partes são as que devem ser abertas.

Correção 2: carregue o arquivo inteiro no Modelo de Dados com o Power Query

Dividir funciona quando você precisa de planilhas comuns, mas às vezes você precisa analisar o conjunto de dados inteiro de uma vez, e para isso o Excel tem uma segunda porta: o Modelo de Dados. O Power Query pode carregar um arquivo CSV no Modelo de Dados em vez da grade, e o Modelo de Dados usa compressão e comporta dezenas de milhões de linhas na memória, bem além do limite de 1,048,576 linhas da grade. Você não consegue ver todas as linhas em uma planilha, porque o limite da grade continua valendo para o que é exibido, mas você pode montar Tabelas Dinâmicas e gráficos dinâmicos sobre o conjunto de dados completo, e as agregações contam cada linha, incluindo as que a grade nunca poderia mostrar. Essa é a correção certa quando a pergunta é um resumo, um total ou uma tabela dinâmica, e não uma olhada linha por linha.

Os passos, no Excel para Windows, são propositalmente simples: abra uma pasta de trabalho em branco, vá em Dados, depois Obter Dados, depois De Arquivo, depois De Texto/CSV, escolha o arquivo e, na prévia, escolha Carregar Para, depois selecione Somente Criar Conexão e marque Adicionar estes dados ao Modelo de Dados, em vez de carregar para uma tabela. Depois monte uma Tabela Dinâmica a partir do Modelo de Dados, e a tabela dinâmica lê o conjunto de dados completo. A orientação documentada da Microsoft para conjuntos de dados grandes demais para a grade descreve exatamente essa rota, e também avisa, de novo, para não salvar por cima do arquivo original, porque a grade ainda só tem as primeiras linhas se você carregar para uma tabela por engano.

Duas ressalvas cabem aqui, ditas com clareza. A primeira é que a rota do Modelo de Dados precisa do Excel para Windows com o Power Query, e o Excel para Mac tem suporte limitado para criar e usar Modelos de Dados, então quem usa Mac pode precisar rodar o Windows ou usar a receita de divisão. A segunda é que uma Tabela Dinâmica sobre o Modelo de Dados responde perguntas de agregação, e não perguntas de linhas: você pode somar, contar e agrupar o arquivo inteiro, mas não pode rolar até a linha 3,000,000 em uma planilha, porque a planilha ainda para em 1,048,576. Se você precisa ver linhas individuais além do limite, divida o arquivo. Se você precisa de totais sobre todas elas, use o Modelo de Dados.

Correção 3: veja apenas as linhas de que você precisa

Na maioria das vezes, ninguém precisa de fato de todas as um milhão de linhas na tela de uma vez. Você precisa das linhas de um cliente, de um mês, de uma região ou de um código de erro, e o restante do arquivo é contexto que você nunca vai ler. Filtrar o arquivo antes de abrir é mais rápido do que dividi-lo, e produz um arquivo pequeno que abre normalmente no Excel, sem partes para gerenciar. O filtro roda em um programa que lê uma linha por vez, então funciona em arquivos de qualquer tamanho, e a saída é um arquivo CSV completo com o próprio cabeçalho, pronto para abrir.

A receita abaixo usa só a biblioteca padrão do Python, e foi testada no mesmo arquivo de amostra de 1,200,000 linhas: manter só as linhas em que a coluna total é maior que 90 produziu um arquivo de 74,227 linhas, com 74,226 linhas de dados, em cerca de dois segundos, e a primeira linha mantida é a que você esperaria, a linha em que o total passa de 90 pela primeira vez. Mude a condição para combinar com a sua própria pergunta, um intervalo de datas, um nome de cliente, um valor de status, e a saída é o pedaço do arquivo de que você realmente precisa. O mesmo padrão funciona para as primeiras N linhas, com um comando que mostra o início do arquivo ou um contador que para depois de N linhas, e para as últimas N linhas, com um comando que mostra o fim do arquivo, quando você só precisa verificar como um arquivo termina.

Filtrar também responde se vale a pena abrir o arquivo. Conte primeiro as linhas que combinam com a sua condição, e se a contagem for pequena, abra o arquivo filtrado. Se a contagem ainda passar do limite da grade, filtre mais ou agregue: agrupe o arquivo por mês, por cliente ou por status e abra o resumo, que tem algumas centenas de linhas em vez de um milhão. Um resumo muitas vezes é o resultado real de qualquer jeito, e é o arquivo que os seus colegas conseguem de fato abrir, o que vale lembrar quando você envia resultados para outra pessoa.

Filtre um CSV grande e fique só com as linhas de que você precisa
import csv

kept = 0
with open('big.csv', newline='') as src, \
     open('filtered.csv', 'w', newline='') as dst:
    reader = csv.DictReader(src)
    writer = csv.DictWriter(dst, fieldnames=reader.fieldnames)
    writer.writeheader()
    for row in reader:
        if int(row['total']) > 90:
            writer.writerow(row)
            kept += 1
print(f'kept {kept} rows')

# Verified on the 1,200,000-row sample file:
# kept 74226 rows -> filtered.csv has 74,227 lines
# First kept row: 91,Customer 91,91
# The script reads one row at a time, so memory stays flat
# no matter how large the file is.

Repare no que o filtro prova sobre o arquivo em si: nada na receita se importa com o tamanho do arquivo, porque o programa nunca guarda mais do que uma linha na memória. Essa é a diferença entre uma ferramenta feita para fluxos e uma ferramenta feita para grades. Uma planilha carrega na memória tudo o que mostra de uma vez, e é por isso que ela tem um limite. Um programa de fluxo processa uma linha, grava ou descarta, e segue em frente, e é por isso que ele não tem limite prático. Quando o arquivo é grande demais para a grade, use primeiro a ferramenta de fluxo e abra só o resultado pequeno na grade.

Correção 4: use a ferramenta certa para o trabalho

Se você continua batendo no limite da grade, a resposta honesta pode ser que uma planilha é a ferramenta errada para o conjunto de dados, e nenhuma correção dentro do Excel vai mudar isso. Um editor de texto é a ferramenta certa para inspecionar um arquivo grande: ele abre o arquivo inteiro como texto, deixa você pesquisar um valor e mostra as primeiras e as últimas linhas, sem limite de linhas exceto a memória. Um banco de dados é a ferramenta certa para analisar um arquivo grande: importe o CSV para o SQLite, que é um único arquivo na sua máquina e não precisa de servidor, e um milhão de linhas vira uma tabela pequena que você pode consultar, filtrar e agregar com SQL, sem nenhuma grade no caminho.

A escolha entre essas ferramentas depende da pergunta. Se a pergunta é o que há no arquivo, use um editor de texto. Se a pergunta é quais linhas combinam com uma condição, use um programa de filtro. Se a pergunta é um total ou uma tabela dinâmica sobre o arquivo inteiro, use o Modelo de Dados ou um banco de dados. Se a pergunta é uma olhada única em algumas linhas, use um terminal para ver o início e o fim do arquivo. Só se a pergunta for editar linha por linha um subconjunto é que os dados devem estar em uma planilha, e então só o subconjunto, dividido ou filtrado para caber. Forçar um conjunto de dados de um milhão de linhas para dentro de uma grade de um milhão de linhas é a incompatibilidade, e não o conjunto de dados.

Há também um ponto de planejamento aqui, para quem produz esses arquivos. Se você exporta um CSV toda semana e ele continua crescendo além de um milhão de linhas, pare de exportar o histórico inteiro toda vez e exporte só as linhas novas, ou só o resumo, ou divida a exportação por mês na origem. A exportação que cabe em uma planilha é a exportação que as pessoas conseguem de fato usar, e uma exportação que ninguém consegue abrir não é um entregável, por mais completa que seja. Avise os destinatários sobre a contagem de linhas no nome do arquivo ou em uma nota de uma linha junto com o arquivo, para que ninguém descubra o limite perdendo dados em um salvamento cortado.

Quatro correções que não funcionam

Antes das correções que funcionam, vale afastar as quatro correções que não funcionam, porque cada uma desperdiça tempo e uma delas destrói dados. A primeira é comprimir o arquivo em um ZIP. A compressão encolhe o arquivo no disco, às vezes bastante, porque texto CSV comprime bem, mas no momento em que você extrai ou importa, os dados brutos ainda têm o mesmo número de linhas, e o Excel ainda para em 1,048,576. A compressão muda o armazenamento, e não a contagem de linhas, e o limite da grade conta linhas, e não megabytes.

A segunda é salvar o arquivo como .xlsx, ou pedir que alguém o converta para você. O formato .xlsx tem o mesmo limite de 1,048,576 linhas na grade que um CSV aberto no Excel, porque o limite pertence à planilha, e não ao formato do arquivo, então converter o arquivo não muda nada sobre quantas linhas cabem em uma planilha. A terceira é abrir o arquivo no Planilhas Google e torcer para que o limite de células salve você. O Planilhas Google pode ter mais linhas do que o Excel quando o arquivo é estreito, porque conta 20 milhões de células em vez de linhas, mas um arquivo largo bate no teto de células mais cedo, um teto de importação de 100 MB também se aplica, e um arquivo de 5 milhões de linhas passa do Planilhas Google também, então a correção só funciona para arquivos um pouco acima do limite do Excel, e não para arquivos realmente grandes.

A quarta é dividir o arquivo à mão dentro do Excel, copiando linhas para novas planilhas ou novas pastas de trabalho. Isso começa a partir da pasta de trabalho cortada, onde as linhas além do limite já faltam, então a cópia nunca pode incluí-las, e a cópia manual é lenta, sujeita a erros e limitada às linhas que o Excel carregou em primeiro lugar. Divida a partir do arquivo original no disco com um programa, antes que o Excel toque nele, como faz a receita acima. E a correção que destrói dados de fato, em vez de apenas falhar, é salvar por cima do original a partir da pasta de trabalho cortada, o que apaga as linhas não carregadas para sempre, como o guia companheiro sobre salvar explica por completo.

O que isso significa para os arquivos deste conversor da página

O conversor desta página produz exatamente o tipo de arquivo de que este guia trata, então vale declarar o comportamento dele com clareza, verificado no código real em vez de presumido. O mecanismo de conversão foi executado nesta máquina em uma amostra JSON de 10,000 linhas e terminou em 28 milissegundos, produzindo 10,000 linhas e 3 colunas, e em uma amostra de 100,000 linhas terminou em 218 milissegundos, produzindo um CSV de 2.35 MB. Uma execução anterior nesta mesma série mediu 100,000 linhas em cerca de 0.4 s e 500,000 linhas em cerca de 1.4 s de tempo do mecanismo, então o conversor em si lida com arquivos grandes com conforto, e o gargalo é o programa que abre o resultado, e não a conversão.

Essa distinção importa, porque ela decide onde corrigir o problema. Se o seu arquivo convertido não abre por completo no Excel, a conversão não falhou e o arquivo não está danificado: o arquivo tem cada linha, byte a byte, e o Excel carregou só as primeiras 1,048,576 delas. Verifique a contagem de linhas com a receita no topo deste guia, e se o arquivo passar do limite, divida com o programa acima, ou carregue pelo Power Query no Modelo de Dados, ou filtre e fique só com as linhas de que você precisa. Não converta de novo esperando um resultado diferente, porque o conversor vai produzir o mesmo arquivo completo, e o Excel vai cortá-lo do mesmo jeito.

Mais um detalhe do conversor importa aqui. O download é UTF-8 simples, sem marca de ordem de bytes, que é a forma mais limpa para a maioria das ferramentas, e o conversor deixa você escolher o delimitador antes de baixar. Nenhuma das duas escolhas afeta o limite de linhas de jeito nenhum: um arquivo delimitado por ponto e vírgula corta exatamente na mesma linha que um arquivo delimitado por vírgula, e um arquivo UTF-8 corta exatamente na mesma linha que um arquivo com codificação antiga. Se o seu arquivo convertido também abre em uma única coluna, ou mostra caracteres embaralhados, esses são problemas separados com correções separadas, cobertos nos guias companheiros com links abaixo, e eles podem ser corrigidos na mesma importação que lida com o tamanho. Corrija a abertura, divida o arquivo se precisar e nunca salve por cima do download a partir do Excel.

Saída verificada do conversor em amostras grandes
Engine check, run on this machine (2026-11-09):
10,000 rows -> 28 ms, 3 columns, 226,762 bytes
100,000 rows -> 218 ms, 3 columns, 2.35 MB

Sample output, first rows:
id,name,total
1,Customer 1,1
2,Customer 2,2

Earlier verified timings in this series:
100,000 rows / 10 MB JSON in about 0.4 s
500,000 rows / 25 MB JSON in about 1.4 s engine time

The converter finishes in milliseconds. The file it writes
is complete. Excel is the bottleneck, not the conversion.

Se o arquivo de que você precisa é a própria saída convertida, e ele é grande demais para o Excel, o caminho mais limpo muitas vezes é guardar o JSON e converter de novo sempre que precisar de um CSV novo, em vez de guardar um CSV gigante e dividi-lo toda vez. O JSON é a fonte, o CSV é um retrato, e gerar de novo a partir da fonte é sempre mais limpo do que reparar um arquivo que já passou por uma planilha. Esse é o mesmo hábito de cópia mestra que o guia companheiro sobre salvar recomenda, aplicado a arquivos grandes: guarde a fonte, exporte o que você precisa e divida ou filtre a exportação, nunca a fonte.

Lista de prevenção: produza CSVs que as pessoas conseguem de fato abrir

Limites de linhas são uma incompatibilidade entre quem escreve e quem lê, então a prevenção significa fazer quem escreve declarar o tamanho e fazer quem lê verificar antes de confiar. Passe por esta lista quando você produzir ou receber um CSV, e a próxima pessoa que tocar nele não vai precisar deste guia. Primeiro, conte as linhas antes de enviar um arquivo e coloque a contagem no nome do arquivo ou em uma nota de uma linha junto com ele, para que o destinatário saiba antes de abrir se o arquivo cabe em uma planilha. Um arquivo chamado clientes-2026-11-09-1200000-linhas.csv avisa quem lê; um arquivo chamado clientes.csv não avisa.

Segundo, divida na origem quando a exportação passar do limite. Se os dados vêm de um banco de dados, exporte por mês ou por região, para que cada arquivo caiba em uma grade por conta própria, em vez de exportar o histórico inteiro em um arquivo que ninguém consegue abrir. Terceiro, guarde os dados de origem, seja JSON, um banco de dados ou uma pasta de trabalho, para que um arquivo cortado ou salvo por cima possa ser gerado de novo com limpeza em vez de reparado. Quarto, nunca salve por cima de um original a partir de uma pasta de trabalho cortada, e verifique cada arquivo que você receber em um editor de texto ou com uma contagem de linhas antes de deixar qualquer planilha salvar por cima dele.

Quinto, diga aos destinatários como abrir o arquivo: uma nota de uma linha dizendo que o arquivo tem 1,200,000 linhas e deve ser dividido com o programa deste guia, ou carregado pelo Power Query no Modelo de Dados, evita toda essa classe de problemas, e não custa nada incluir junto com o arquivo. A maioria das histórias de terror com CSV termina com alguém descobrindo tarde demais que o arquivo cortado era a única cópia, ou que um resumo foi calculado a partir de um conjunto de dados parcial. Conte primeiro, divida ou filtre antes de abrir e mantenha o original seguro, e um CSV grande volta a ser um arquivo comum.

Guias relacionados

Perguntas frequentes

Quantas linhas o Excel consegue abrir de um arquivo CSV?

No máximo 1,048,576 linhas por planilha, incluindo o cabeçalho, então um arquivo com cabeçalho pode ter no máximo 1,048,575 linhas de dados. O formato antigo .xls comporta só 65,536 linhas por planilha. O limite pertence à planilha, e não ao formato CSV, que não define limite próprio de linhas, então o mesmo arquivo abre por completo em um editor de texto ou em um banco de dados.

Por que o Excel diz que o meu conjunto de dados é grande demais para a grade?

Porque o arquivo tem mais linhas do que a planilha consegue mostrar. O Excel carrega as primeiras 1,048,576 linhas, avisa que o conjunto de dados é grande demais para a grade e que salvar vai perder os dados que não foram carregados, e deixa o restante no arquivo, mas fora da pasta de trabalho. Conte as linhas primeiro com wc -l ou um programa em Python, depois divida o arquivo, carregue no Modelo de Dados ou filtre e fique só com as linhas de que você precisa.

Salvar um CSV grande demais no Excel apaga linhas?

Sim. Salvar a pasta de trabalho cortada grava de volta só as linhas que o Excel carregou, então as linhas além de 1,048,576 somem do arquivo salvo para sempre. Nunca salve por cima do arquivo original a partir de uma pasta de trabalho que avisou sobre o limite da grade. Feche sem salvar e recupere as linhas que faltam a partir do arquivo original, de um backup, do histórico de versões do OneDrive ou do sistema de origem de onde o arquivo veio.

Como divido um CSV grande em arquivos menores?

Use um programa que lê o arquivo uma linha por vez e grava no máximo 1,048,575 linhas de dados por parte, repetindo o cabeçalho no topo de cada parte. O programa em Python deste guia dividiu um arquivo testado de 1,200,000 linhas em duas partes, e juntar as partes de novo reproduziu o arquivo original idêntico byte a byte. Nunca divida copiando linhas dentro do Excel, porque as linhas além do limite já faltam na pasta de trabalho.

O Planilhas Google consegue abrir um arquivo CSV que o Excel não consegue?

Às vezes. O Planilhas Google conta células em vez de linhas, com um limite de 20 milhões de células por planilha e um teto de importação de 100 MB, então um arquivo estreito pode ter mais linhas do que o Excel permite, enquanto um arquivo largo tem menos. Um arquivo de 10 colunas pode ter cerca de 2 milhões de linhas no Planilhas Google, enquanto um arquivo de 50 colunas tem cerca de 400,000. Um arquivo de 5 milhões de linhas passa do Planilhas Google também, então para arquivos realmente grandes, divida o arquivo ou use um banco de dados.

O Power Query consegue abrir um CSV com mais de 1 milhão de linhas?

Sim, quando você o carrega no Modelo de Dados em vez da grade. No Excel para Windows, use Dados, depois Obter Dados, depois De Arquivo, depois De Texto/CSV, e escolha Carregar Para com Somente Criar Conexão e Adicionar estes dados ao Modelo de Dados. Depois você pode montar Tabelas Dinâmicas sobre o conjunto de dados completo. A grade ainda mostra no máximo 1,048,576 linhas, e o Excel para Mac tem suporte limitado ao Modelo de Dados, então quem usa Mac pode precisar da receita de divisão.

O conversor de JSON para CSV desta página lida com arquivos grandes?

Sim. O mecanismo de conversão foi verificado nesta máquina: 10,000 linhas foram convertidas em 28 milissegundos e 100,000 linhas em 218 milissegundos, e uma execução anterior verificada mediu 500,000 linhas em cerca de 1.4 segundos de tempo do mecanismo. O conversor grava um CSV completo com cada linha. Se o resultado não abre por completo no Excel, o arquivo está certo e o Excel é o gargalo, então divida o arquivo, carregue no Modelo de Dados ou filtre e fique só com as linhas de que você precisa.

Converta de novo e, se o Excel não comportar, divida o arquivo

Cole o seu JSON no conversor desta página e baixe um CSV limpo com cada linha exatamente como foi escrita. Se o arquivo tiver mais de 1,048,575 linhas de dados, o Excel não consegue mostrar tudo em uma planilha, então divida com o programa deste guia ou carregue no Modelo de Dados. Sem envio, sem cadastro, nada sai da sua aba do navegador.

Abrir o conversor de JSON para CSV
Todos os guias