Abre o pega un archivo CSV y obtendrás XML bien formado: un elemento raíz, un elemento por cada registro y cada valor como elemento hijo o como atributo. Los encabezados que no son nombres XML válidos, como Order ID o 2024 total, se renombran, y cada cambio de nombre aparece en una lista. La conversión se hace en tu navegador y el archivo nunca se sube.
Cómo convertir CSV a XML
- Pulsa Abrir archivo, suelta un archivo
.csv,.tsvo.txtsobre la herramienta o elige Pegar. Si las columnas no se ven bien, revisa el delimitador y la codificación en Configuración de importación. - Da nombre al Elemento raíz y al Elemento de fila (
rowsyrowde forma predeterminada) según lo que espere el sistema que va a recibir el archivo. - Elige Valores como, qué hacer con los valores vacíos, la Sangría y la declaración; después pulsa Copiar o «Descargar XML».
Si el sistema que lee el archivo espera nombres de etiqueta concretos, renombra antes las columnas del CSV con Renombrar y reordenar columnas de CSV para que no haga falta ningún cambio de nombre automático.
Opciones de estructura del XML
| Elementos hijos | Es la opción predeterminada: <row><Customer>Smith & Sons</Customer>…</row>. Conserva los saltos de línea de los valores y funciona con la mayoría de las herramientas de importación. |
|---|---|
| Atributos | Un elemento de cierre automático por fila: <row Customer="Smith & Sons" …/>. Es más compacto; las tabulaciones y los saltos de línea de los valores se escriben como 	, y para que el analizador XML los conserve. |
| Omitir los valores vacíos | Desactivada de forma predeterminada, así que una celda vacía se convierte en un elemento vacío como <Ship_date/>. Si la activas, ese elemento o atributo no aparece en la fila. |
| Sangría | 2 espacios (predeterminado), 4 espacios o Ninguna (minificado), que escribe todo el documento en una sola línea. |
| Añadir la declaración XML | Activada de forma predeterminada: la primera línea es <?xml version="1.0" encoding="UTF-8"?>. Desactívala si el XML va a insertarse dentro de otro documento. |
Los nombres de la raíz y de la fila siguen las mismas reglas que los encabezados: si se dejan en blanco o no son válidos, se vuelve a rows o row, o se les añade un guion bajo delante.
Cómo se convierten los nombres de columna en nombres XML
- Los espacios se convierten en
_, y también cualquier carácter que no sea una letra, un dígito,.,-o_:Total (EUR)→Total__EUR_,e-mail:work→e-mail_work. Los dos puntos se sustituyen, así que no se crean prefijos de espacio de nombres. - Un nombre que empieza por un dígito,
.o-recibe un guion bajo delante (2024 total→_2024_total); lo mismo ocurre con los que empiezan porxml, en mayúsculas o minúsculas, porque XML reserva ese prefijo (xml_ref→_xml_ref). - Si dos encabezados acaban con el mismo nombre, el segundo recibe
_2(a bya_b→a_b,a_b_2). Los nombres XML distinguen mayúsculas de minúsculas, así queNameynamesiguen siendo distintos. - Se conservan las letras de cualquier alfabeto:
Größey価格son nombres XML válidos. Un encabezado en blanco pasa primero aColumn 7y luego aColumn_7. - Cada cambio de nombre aparece bajo las opciones como
old → new, y un aviso encima de la vista previa indica cuántos hay.
Cómo se escriben los valores
- En el texto de los elementos se escapan
&,<y>; en los atributos, además,". Por lo demás, los valores se escriben exactamente como en el CSV:00731conserva sus ceros y no se adivina ningún tipo. - XML 1.0 prohíbe la mayoría de los caracteres de control (U+0000–U+001F salvo la tabulación, el salto de línea y el retorno de carro), U+FFFE, U+FFFF y los sustitutos sin pareja, incluso escapados. Se eliminan y se muestra el número de valores afectados.
- Las comas, comillas y saltos de línea entre comillas se leen según RFC 4180; dentro de un elemento hijo, un salto de línea sigue siendo un salto de línea real.
- La salida siempre está en UTF-8.
Si un analizador XML o una importación rechaza el archivo
- Mi herramienta de importación no encuentra un campo: lo más probable es que se haya renombrado. Revisa la lista bajo las opciones y cambia el nombre de la columna en el CSV o ajusta la asignación en el sistema de destino.
- Un analizador XML informa de un error de codificación: abre el archivo de origen con su codificación real desde la configuración de importación; el XML solo queda en UTF-8 correcto si el CSV se decodificó bien.
- Todo está en un solo elemento: el delimitador se detectó mal. Elige coma, punto y coma, tabulación o barra vertical en la configuración de importación.
- Necesito CDATA, espacios de nombres o un esquema: el conversor solo escribe elementos y atributos simples; añádelos en un paso posterior.
Límites y privacidad
Los archivos de hasta 25 MB, 100 000 filas o 2 millones de celdas se abren con vista previa en directo de las primeras 200 filas. Los más grandes se convierten leyéndolos por partes (en streaming): el archivo se lee dos veces (una para medir las columnas, otra para escribir), un aviso indica que la descarga incluye el archivo completo y no se ofrece Copiar. Cada archivo de salida tiene un máximo de 4 GB.
La conversión se ejecuta en un proceso en segundo plano dentro de esta pestaña, así que la página sigue respondiendo y Cancelar la detiene. El CSV nunca se envía a un servidor.
Ejemplo: una exportación de pedidos con encabezados que hay que renombrar
Una exportación de pedidos con espacios y paréntesis en los encabezados, un «&», signos de menor y mayor y una fecha vacía, convertida con la configuración predeterminada. Se renombran tres encabezados; el Ship date vacío se convierte en <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>Preguntas frecuentes
¿Por qué ha cambiado el nombre de mi columna?
Los nombres de elemento XML no pueden contener espacios ni la mayoría de los signos de puntuación, ni empezar por un dígito o por xml. El conversor hace el cambio mínimo que da un nombre válido y único, y los enumera todos.
¿Uso elementos o atributos?
Usa elementos hijos, salvo que el sistema de destino pida atributos. Los elementos conservan los saltos de línea tal como están; en cambio, los analizadores XML normalizan los espacios en blanco de los valores de atributo, y por eso el conversor codifica las tabulaciones y los saltos de línea como referencias de carácter.
¿Los números o las fechas reciben un tipo?
No. XML no tiene tipos de valor integrados, así que cada valor se escribe como el texto del CSV. Los tipos los define el esquema o el programa que lee el archivo.