Convertir CSV a XML
Envuelve una tabla CSV en XML válido: nombres de etiqueta raíz y de fila a tu gusto, columnas como elementos o atributos, cabeceras corregidas a nombres de etiqueta legales.
Suelta tus archivos aquí
.csv, .tsv, .txt · hasta 300 MB
Más ajustesMenos ajustes
Cómo convertir a XML
- 1
Suelta tu archivo CSV
Arrastra un archivo .csv, .tsv o .txt a la página. El delimitador y la codificación de caracteres se detectan a partir de los propios bytes.
- 2
Pon nombre a las etiquetas raíz y de fila
Decide qué envuelve el documento y qué envuelve cada línea: rows y row por defecto, o catalog y product si eso es lo que espera el sistema de destino.
- 3
Convierte y descarga el XML
Pulsa el botón y guarda un documento bien formado, con declaración XML e indentación real.
Cabeceras de columna que no valen como nombres de etiqueta
En las exportaciones reales hay cabeceras como 2024 sales, order id o una celda vacía, y ninguna de ellas es un nombre XML legal. Si se descartara esa columna, se perderían datos, así que en su lugar el nombre se corrige como exige XML 1.0: los caracteres no permitidos se convierten en guiones bajos, a un dígito inicial se le antepone una n y las cabeceras vacías pasan a ser column_1. Cada cambio de nombre se muestra en una lista.
Elementos o atributos, y cuándo se ignora tu elección
Cada columna puede convertirse en un elemento hijo de la fila o en un atributo de ella. Los atributos dan un documento compacto, pero los analizadores XML normalizan un salto de línea dentro de un valor de atributo a un espacio. Por eso, una columna con texto en varias líneas se escribe siempre como elemento, sin importar el ajuste, y se te indica qué columna ha sido.
Escape y codificación de los que no tienes que preocuparte
Los signos & y los signos de menor y mayor que en tus datos se escapan por ti; las comillas también dentro de atributos. Los caracteres de control que XML prohíbe directamente se eliminan y se lleva la cuenta. El resultado es siempre UTF-8 sin marca de orden de bytes, con una declaración XML que lo indica, use la codificación que use el CSV de origen.
Sin subida, sin servidor, sin copia
La decodificación del CSV, la corrección de nombres, el escape de los valores y la serialización del documento se hacen en esta pestaña del navegador, en JavaScript que viene con la página. Tu archivo no se envía a ningún sitio, así que una lista de precios o una exportación de clientes se queda en tu equipo incluso mientras la conviertes.
Preguntas frecuentes
¿Puedo elegir yo mismo los nombres de las etiquetas?
Sí, los dos. El elemento raíz es rows por defecto y cada registro es row, y puedes cambiar cualquiera de ellos por algo válido, como catalog y product, u orders y order. Un nombre que XML rechazaría, como uno que empiece por un dígito, se rechaza de entrada con una sugerencia corregida en lugar de generar un archivo roto.
¿Las columnas deben ser elementos o atributos?
Los elementos son la opción más segura: admiten cualquier texto, incluidos saltos de línea, y es lo que esperan la mayoría de los esquemas. Los atributos generan un documento mucho más corto y sirven para identificadores breves, pero el valor tiene que ir en una sola línea. Elige la forma que espere el sistema que va a leer el archivo.
¿Qué pasa con una cabecera como 2024 sales?
Por defecto se limpia y se convierte en una etiqueta válida: el espacio se cambia por un guion bajo y al dígito inicial se le añade un prefijo, quedando n2024_sales. Se muestra una lista con cada columna renombrada para que no cambie nada a tus espaldas. Si prefieres que se bloquee en lugar de corregir, cambia los nombres no válidos a error.
Mi CSV usa punto y coma y Windows-1251. ¿Tengo que convertirlo antes?
No. Se prueban punto y coma, tabulador, barra vertical y dos puntos junto con la coma, y la codificación se detecta por una marca de orden de bytes o, si no la hay, con una comprobación estricta de UTF-8 con alternativa Windows-1251 o Windows-1252. Ambos ajustes se pueden poner a mano si la detección no coincide contigo.
¿Se conservan las celdas vacías en la salida?
Por defecto una celda vacía se convierte en un elemento vacío autocerrado, lo que mantiene cada registro con la misma estructura y facilita que el consumidor recorra los datos. Si cambias los valores vacíos a omitir, el elemento no se escribe, obteniendo un documento más pequeño con registros de forma variable.
¿En qué codificación se escribe el XML?
Siempre en UTF-8, sin marca de orden de bytes y con una declaración correspondiente al principio. Esa combinación es la que asumen los analizadores XML y evita la discrepancia entre la codificación declarada y los bytes reales. La declaración se puede desactivar para fragmentos pensados para incrustarse en un documento mayor.
Dos de mis columnas se llaman id. ¿Qué pasa?
La segunda pasa a ser id_2 y la tercera id_3, porque un consumidor que recorra los hijos de un registro no tendría forma de distinguirlas. Los cambios de nombre aparecen en la misma lista que los nombres saneados.
¿El archivo se sube para poder convertirlo?
No. Todo se ejecuta localmente en tu navegador, sin servidor de por medio y sin que se guarde ninguna copia de tu tabla en ningún sitio una vez que cierres la pestaña.