Abra ou cole um arquivo CSV e receba um XML bem-formado: um elemento raiz, um elemento por registro e cada valor como elemento filho ou como atributo. Cabeçalhos que não são nomes XML válidos, como Order ID ou 2024 total, são renomeados, e cada renomeação aparece listada. A conversão acontece no seu navegador, e o arquivo nunca é enviado.
Como converter CSV em XML
- Clique em Abrir arquivo, arraste um arquivo
.csv,.tsvou.txtpara a ferramenta ou escolha Colar. Se as colunas parecerem erradas, confira o delimitador e a codificação em Configurações de importação. - Dê nome ao Elemento raiz e ao Elemento de linha (
rowserowpor padrão), de acordo com o que o sistema de destino espera. - Escolha Valores como, o tratamento de valores vazios, o Recuo e a declaração, e depois clique em Copiar ou Baixar XML.
Se o sistema que vai ler o arquivo exige nomes de tag específicos, renomeie antes as colunas do CSV com Renomear e reordenar colunas do CSV, para não depender da renomeação automática.
Opções de estrutura do XML
| Elementos filhos | É o padrão: <row><Customer>Smith & Sons</Customer>…</row>. Preserva as quebras de linha dos valores e funciona com a maioria das ferramentas de importação. |
|---|---|
| Atributos | Um elemento autofechado por linha: <row Customer="Smith & Sons" …/>. É mais compacto; tabulações e quebras de linha nos valores são gravadas como 	, e , para que o parser as preserve. |
| Omitir valores vazios | Vem desativada, então uma célula vazia vira um elemento vazio, como <Ship_date/>. Ativada, o elemento ou atributo fica de fora daquela linha. |
| Recuo | 2 espaços (padrão), 4 espaços ou Nenhum (minificado), que grava o documento inteiro em uma linha só. |
| Adicionar a declaração XML | Vem ativada: a primeira linha é <?xml version="1.0" encoding="UTF-8"?>. Desative quando o XML for embutido em outro documento. |
Os nomes da raiz e da linha passam pelas mesmas regras dos cabeçalhos; um valor em branco ou inválido volta para rows ou row, ou ganha um sublinhado na frente.
Como os nomes das colunas viram nomes XML
- Espaços viram
_, e qualquer caractere que não seja letra, dígito,.,-ou_também vira_:Total (EUR)→Total__EUR_,e-mail:work→e-mail_work. Os dois-pontos são substituídos, então nenhum prefixo de namespace é criado. - Um nome que começa com dígito,
.ou-ganha um sublinhado na frente (2024 total→_2024_total); o mesmo vale para nomes que começam comxml, em maiúsculas ou minúsculas, porque o XML reserva esse prefixo (xml_ref→_xml_ref). - Se dois cabeçalhos acabarem com o mesmo nome, o segundo recebe
_2(a bea_b→a_b,a_b_2). Nomes XML diferenciam maiúsculas de minúsculas, entãoNameenamecontinuam distintos. - Letras de qualquer escrita são mantidas:
Größee価格são nomes XML válidos. Um cabeçalho em branco vira primeiroColumn 7e depoisColumn_7. - Cada renomeação aparece listada abaixo das opções no formato
old → new(nome antigo → nome novo), e um aviso acima da prévia mostra o total.
Como os valores são gravados
&,<e>passam por escape no texto dos elementos; nos atributos,"também. Fora isso, os valores são gravados exatamente como no CSV:00731mantém os zeros e nenhum tipo é deduzido.- O XML 1.0 proíbe a maioria dos caracteres de controle (U+0000–U+001F, exceto tabulação, avanço de linha e retorno de carro), além de U+FFFE, U+FFFF e surrogates sem par, mesmo com escape. Eles são removidos, e a ferramenta mostra quantos valores foram afetados.
- Vírgulas, aspas e quebras de linha entre aspas são lidas conforme a RFC 4180; dentro de um elemento filho, a quebra de linha continua sendo uma quebra de linha de verdade.
- A saída é sempre UTF-8.
Quando um parser XML ou uma importação recusa o arquivo
- Minha ferramenta de importação não encontra um campo. Provavelmente ele foi renomeado. Confira a lista abaixo das opções e renomeie a coluna no CSV ou ajuste o mapeamento no sistema de destino.
- O parser acusa erro de codificação. Abra o arquivo de origem com a codificação real dele em Configurações de importação; o XML só sai em UTF-8 correto se o CSV tiver sido decodificado direito.
- Ficou tudo em um único elemento. O delimitador foi detectado errado; escolha Vírgula, Ponto e vírgula, Tabulação ou Barra vertical em Configurações de importação.
- Preciso de CDATA, namespaces ou um schema. O conversor grava apenas elementos e atributos simples; acrescente esses recursos em uma etapa posterior.
Limites e privacidade
Arquivos de até 25 MB, 100.000 linhas ou 2 milhões de células abrem com prévia ao vivo das primeiras 200 linhas. Arquivos maiores são convertidos em modo de streaming: o arquivo é lido duas vezes, em partes (uma para medir as colunas, outra para gravar), um aviso informa que o download cobre o arquivo inteiro e a opção Copiar não fica disponível. Cada arquivo de saída tem limite de 4 GB.
A conversão roda em um worker em segundo plano nesta aba, então a página continua respondendo e Cancelar interrompe o processo. O CSV nunca é enviado a um servidor.
Exemplo: uma exportação de pedidos com cabeçalhos que precisam ser renomeados
Uma exportação de pedidos com espaços e parênteses nos cabeçalhos, um E comercial, sinais de menor e maior e uma data vazia, convertida com as configurações padrão. Três cabeçalhos são renomeados; o Ship date vazio vira <Ship_date/>.
Order ID,Customer,Total (EUR),Ship date 10071,"Smith & Sons",249.00,2025-02-03 10072,"Café <Lumière>",18.50,
<?xml version="1.0" encoding="UTF-8"?>
<rows>
<row>
<Order_ID>10071</Order_ID>
<Customer>Smith & Sons</Customer>
<Total__EUR_>249.00</Total__EUR_>
<Ship_date>2025-02-03</Ship_date>
</row>
<row>
<Order_ID>10072</Order_ID>
<Customer>Café <Lumière></Customer>
<Total__EUR_>18.50</Total__EUR_>
<Ship_date/>
</row>
</rows>Perguntas frequentes
Por que o nome da minha coluna mudou?
Nomes de elemento XML não podem ter espaços nem a maior parte da pontuação, não podem começar com dígito e não podem começar com xml. O conversor faz a menor alteração possível para chegar a um nome válido e único, e lista cada uma.
É melhor usar elementos ou atributos?
Use elementos filhos, a não ser que o sistema de destino peça atributos. Os elementos preservam as quebras de linha como foram escritas; já nos atributos, os parsers XML normalizam os espaços em branco, e é por isso que o conversor codifica tabulações e quebras de linha como referências de caractere.
Números ou datas recebem tipos?
Não. O XML não tem tipos de valor embutidos, então cada valor é gravado com o texto que está no CSV. Os tipos vêm do schema ou do programa que lê o arquivo.