100 % local — seus dados nunca saem do seu navegador

CSV para XML — um documento que abre mesmo

Converta uma tabela CSV em XML, um elemento por coluna. Os nomes do cabeçalho viram tags válidas, então qualquer ferramenta de XML abre o documento.

Instantâneo Privado Zero cookies
Indentação
Delimitador

Entrada CSV

Saída XML

O que esta ferramenta faz

Cada linha do CSV vira um elemento row dentro de um documento rows, e cada coluna um elemento filho com o nome do seu cabeçalho. Os valores são escapados como o XML exige: o e comercial vira &, os sinais de maior e menor viram < e >.

Você escolhe a indentação, se os tipos são detectados e se a declaração XML aparece no topo.

Nomes de coluna não são livres

Um nome de elemento XML tem regras; um cabeçalho de planilha não. Um nome não pode conter espaço, não pode começar com dígito e não aceita a maioria da pontuação — coisas comuníssimas numa linha de cabeçalho exportada.

Então os nomes do cabeçalho são ajustados em vez de copiados:

  • um caractere proibido vira sublinhado: first name dá first_name, a+b dá a_b;
  • um nome que começa com algo que o XML não aceita recebe um prefixo, não um corte: 2col dá _2col, e você continua sabendo qual coluna era;
  • as letras que o XML aceita ficam intactas, com acento e CJK inclusive — café e 日本語 passam sem mudança.

A alternativa seria emitir o cabeçalho literal e devolver um arquivo com cara de convertido que falha no primeiro parse. Essa falha aparece longe da causa, e é isso que a torna cara.

Cabeçalhos duplicados

Duas colunas com o mesmo nome são separadas antes de chegar ao XML: a segunda vira a_1. Nenhuma coluna é fundida em silêncio com outra. O mesmo vale quando dois cabeçalhos diferentes se reduzem ao mesmo nome: user id e user_id dão ambos user_id, então o segundo vira user_id_1. Sem isso, uma das duas colunas sumiria do documento, valor incluído.

Privado por padrão

Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.

Perguntas frequentes

Por que minha coluna "first name" virou first_name?
Porque um nome de elemento XML não pode conter espaço. Deixá-lo produziria um documento que nenhum parser aceita, e o erro só apareceria ao ler o arquivo, não ao converter.
Por que uma coluna chamada 2col ganha um sublinhado?
Porque um nome XML não pode começar com dígito. O prefixo mantém o nome inteiro legível: você recebe `_2col`, e não um `col` truncado que perde de qual coluna veio.
Nomes com acento ou em CJK são alterados?
Não. As regras de nome do XML admitem uma faixa ampla de Unicode, então `café`, `nom-composé` e `日本語` passam intactos. Só é substituído o que o XML realmente proíbe.

Conversores relacionados