100 % local: tus datos nunca salen de tu navegador

CSV a XML — un documento que sí se analiza

Convierte una tabla CSV en XML, un elemento por columna. Los nombres del encabezado se reparan como etiquetas válidas, así cualquier herramienta lo abre.

Instantáneo Privado Cero cookies
Indentación
Delimitador
Invertir: XML → CSV

Entrada CSV

Salida XML

Qué hace esta herramienta

Cada fila del CSV pasa a ser un elemento row dentro de un documento rows, y cada columna un elemento hijo con el nombre de su cabecera. Los valores se escapan como XML exige: el ampersand pasa a &, los ángulos a < y >.

Eliges la indentación, si se detectan los tipos y si se escribe la declaración XML arriba.

Los nombres de columna no son libres

Un nombre de elemento XML tiene reglas; una cabecera de hoja de cálculo no. Un nombre no puede llevar espacios, no puede empezar por un dígito y no admite la mayoría de los signos de puntuación: todo ello corriente en una cabecera exportada.

Así que los nombres de cabecera se ajustan en vez de copiarse:

  • un carácter prohibido pasa a guion bajo: first name da first_name, a+b da a_b;
  • un nombre que empieza por algo que XML no admite se prefija, no se recorta: 2col da _2col, así sigues sabiendo qué columna era;
  • las letras que XML sí admite quedan intactas, acentos y CJK incluidos: café y 日本語 pasan sin cambio.

La alternativa sería emitir la cabecera literal y devolverte un archivo con aspecto de convertido que falla al primer análisis. Ese fallo aparece lejos de su causa, y eso es lo que lo hace caro.

Cabeceras duplicadas

Dos columnas con el mismo nombre se separan antes de llegar al XML: la segunda pasa a a_1. Ninguna columna se funde en silencio con otra. Lo mismo vale cuando dos cabeceras distintas se reducen al mismo nombre: user id y user_id dan ambas user_id, así que la segunda pasa a user_id_1. Sin eso, una de las dos columnas desaparecería del documento, valor incluido.

Privado por diseño

Todo se ejecuta localmente en tu navegador con JavaScript. Tus datos nunca se suben a un servidor, lo que hace que la herramienta sea segura para contenido sensible y funcione sin conexión.

Preguntas frecuentes

¿Por qué mi columna «first name» pasó a first_name?
Porque un nombre de elemento XML no puede contener espacios. Dejarlo produciría un documento que ningún analizador acepta, y el error solo aparecería al leer el archivo, no al convertirlo.
¿Por qué una columna llamada 2col lleva un guion bajo delante?
Porque un nombre XML no puede empezar por un dígito. El prefijo mantiene el nombre completo legible: obtienes `_2col`, y no un `col` recortado que pierde de qué columna venía.
¿Se cambian los nombres con acentos o en CJK?
No. Las reglas de nombres de XML admiten un rango amplio de Unicode, así que `café`, `nom-composé` y `日本語` pasan intactos. Solo se sustituye lo que XML prohíbe de verdad.

Convertidores relacionados