Juntar vários CSVs em um só
Esta ferramenta junta vários arquivos CSV em um único, direto no navegador — grátis e sem cadastro. Ela alinha as colunas pelos nomes do cabeçalho, mesmo quando os arquivos não têm exatamente a mesma estrutura, e entrega uma planilha consolidada pronta para análise ou importação.
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
Juntar não é só empilhar
Copiar e colar um arquivo embaixo do outro funciona até o dia em que as colunas não batem: um CSV tem "telefone" na terceira coluna, outro na quinta, um terceiro nem tem a coluna. Aqui a junção é feita pelo nome do cabeçalho: cada coluna encontra seu lugar certo no arquivo final, e colunas que só existem em alguns arquivos entram com células vazias nos demais. O resultado é uma base única e coerente — não uma colagem torta.
Como funciona na prática
Envie os arquivos (ou arraste todos de uma vez), confira a prévia do resultado — quantas linhas de cada origem, quais colunas foram alinhadas — e baixe o CSV consolidado. Separadores diferentes entre os arquivos (vírgula num, ponto e vírgula noutro, o padrão do Excel brasileiro) são detectados e unificados, e a codificação é tratada para nenhum acento chegar quebrado. Dá até para incluir uma coluna indicando de qual arquivo veio cada linha.
Grátis no navegador, recorrente via API
Na página, o uso é grátis e ilimitado, sem cadastro — e os arquivos não saem do seu navegador, o que importa quando são relatórios internos ou bases de clientes. Se a consolidação é rotina (os arquivos das filiais toda segunda-feira, por exemplo), a mesma capacidade roda via API por US$ 0,002 por chamada, com até 25 MB por operação. Depois de juntar, vale passar o resultado pela remoção de duplicatas — outra capacidade do KIT — para fechar a base limpa.
Casos de uso
Consolidar as vendas das filiais
Toda semana, as filiais de São Paulo, Recife e Porto Alegre mandam cada uma seu CSV de vendas. A junção alinha as colunas — mesmo com a filial nova usando um modelo de planilha diferente — e entrega o consolidado que a matriz analisa.
Unificar exportações de meses diferentes
Para fechar o ano, o financeiro da TecnoSul junta os doze CSVs mensais do sistema de cobrança em um arquivo único e monta a análise anual numa tabela dinâmica — sem colar planilha na mão.
Reunir listas de inscritos de vários eventos
Cada evento gerou sua lista de presença em CSV, com colunas quase iguais. Juntas em um arquivo só (com a coluna de origem indicando o evento), viram a base única de contatos para o próximo convite.
Perguntas frequentes
Os arquivos têm colunas diferentes. Vai dar problema?
Não: o alinhamento é pelo nome da coluna no cabeçalho. Colunas ausentes em algum arquivo entram vazias nas linhas correspondentes — nada é embaralhado nem descartado.
Um arquivo usa vírgula e outro ponto e vírgula. E aí?
A ferramenta detecta o separador de cada arquivo e unifica na saída. A mistura de padrões — comum quando parte vem do Excel brasileiro — deixa de ser problema.
Dá para saber de qual arquivo veio cada linha?
Dá: ative a coluna de origem e o consolidado indica o arquivo de cada registro — útil para auditar o resultado.
Quantos arquivos posso juntar de uma vez?
O limite é de 25 MB pelo conjunto da operação, mais do que suficiente para dezenas de planilhas típicas de vendas ou cadastro.
É grátis? E se eu quiser automatizar?
Na página, grátis e sem limite, sem cadastro. Para consolidar automaticamente todo mês ou toda semana, a API custa US$ 0,002 por chamada, com preço publicado.
As planilhas têm dados de clientes. Elas são enviadas para algum lugar?
No navegador, não: a junção roda localmente e os arquivos não saem da sua máquina — um argumento a favor na sua avaliação de LGPD.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/data/merge-csv \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'const res = await fetch("https://api.kit.forhosting.com/data/merge-csv", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/merge-csv",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/merge-csv", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/merge-csv", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "…"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.merge_csv",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 25 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |