araç köşesi

Convertir CSV a XML

Convierta una tabla CSV en registros XML; el archivo con punto y coma que guarda Excel en español se reconoce solo

Sus datos se quedan con usted. La conversión ocurre dentro del navegador; no se envía nada a ningún servidor.

Cómo funciona

Caso típico: usted lleva la lista de productos en Excel y el programa de facturación o de inventario pide los datos en un archivo XML. En Excel, guarde la hoja con «Archivo → Guardar como» en formato CSV, abra ese archivo con el Bloc de notas (Windows) o TextEdit (Mac), copie todo el contenido y péguelo en el panel izquierdo; el XML aparece en el panel derecho en cuanto pega. Si su Excel usa la coma como signo decimal (España, Argentina, Colombia), el CSV sale separado por punto y coma; en México sale separado por coma. La herramienta mira las primeras filas y detecta el separador sola. Un encabezado «Producto;Cantidad;Precio» seguido de 200 filas se convierte en un solo documento con 200 elementos <row>, y dentro de cada uno los elementos <Producto>, <Cantidad> y <Precio>. Si el programa de destino espera <productos> con un <producto> por fila, escriba esos nombres en las casillas de raíz y de fila. Un encabezado con espacio o paréntesis se adapta con guion bajo («Precio unitario» → Precio_unitario) y a un encabezado que empieza por número se le antepone un guion bajo; la línea de resultado indica cuántos encabezados cambiaron y cómo. Las celdas pasan tal cual, como texto: el monto 1.250,00 y un teléfono que empieza por 0 se escriben sin tocarlos, porque XML no tiene tipo numérico e interpretar el valor es tarea del programa que lo recibe. Un punto y coma o un salto de línea entre comillas cuenta como dato y no parte la columna. Copie la salida con un clic o descárguela como archivo .xml.

Esta herramienta también se busca como convertir csv a xml, csv a xml, pasar csv a xml, csv a xml online, generar xml desde csv, csv to xml.

¿Qué es CSV?

CSV es una tabla en texto plano: cada línea es un registro y cada celda va separada de la siguiente por un signo. Excel, Hojas de cálculo de Google, la banca en línea y las tiendas en línea exportan en este formato. El problema es que el separador no es uno solo: aunque el nombre diga «separado por comas», Excel en español con coma decimal usa punto y coma, una tabla copiada y pegada usa tabuladores y algunos informes usan la barra vertical. Cuando el signo aparece dentro de una celda, la celda va entre comillas dobles y la comilla interior se duplica; un lector que no conoce esa regla parte «Plato; porcelana» en dos columnas. Esta herramienta detecta el separador mirando las primeras filas y aplica la regla de las comillas.

¿Qué es XML?

XML es un formato de texto en el que cada valor va entre una etiqueta de apertura y una de cierre: <Precio>320,00</Precio>. Las etiquetas son elementos; los pares nombre="valor" escritos dentro de la etiqueta de apertura son atributos. El documento tiene un único elemento exterior (la raíz) y todos los datos van anidados dentro de él. Un nombre de elemento empieza por letra o guion bajo y no lleva espacios; por eso los encabezados de una tabla suelen adaptarse al pasar a XML. Los programas de contabilidad, los ERP y los portales de facturación electrónica piden los datos en XML porque cada valor dice a qué campo pertenece por su nombre, no por su posición.

¿Qué diferencia hay entre CSV y XML?

CSV es una tabla: los datos se entienden por posición, la tercera celda corresponde a la tercera columna del encabezado, y si cambia el separador, las comillas o el signo decimal, el archivo se rompe sin avisar. En XML cada valor va dentro de su propia etiqueta, el orden de las columnas no importa, el documento se explica a sí mismo y se puede validar contra un esquema (XSD); el precio es el tamaño: la misma tabla ocupa varias veces más en XML. Ninguno de los dos lleva tipos de datos, «1.250,00» es texto en los dos formatos; la diferencia es que XML etiqueta ese texto con un nombre y lo puede anidar. Si va a abrir la tabla en Excel, quédese con CSV; si va a entregarla a un programa o a una institución, elija XML.

Tres trampas: el nombre del encabezado, la coma decimal y el separador entre comillas

Nombre del encabezado: un nombre de elemento XML no admite espacios, paréntesis ni la mayoría de los signos de puntuación, y no puede empezar por un número. Si «Precio unitario» se escribiera tal cual, ningún programa abriría el documento. La herramienta no descarta el nombre: lo adapta a la regla y lo avisa en la línea de resultado. «Precio unitario» → <Precio_unitario>, «2024 ventas» → <_2024_ventas>, «Precio (MXN)» → <Precio__MXN_>. Las vocales con tilde y la eñe se conservan; «Año» y «Diseño» son nombres XML válidos. Si el mismo encabezado aparece en dos columnas, la segunda recibe el sufijo _2 para que las dos no se mezclen.

Coma decimal: esta herramienta no interpreta el contenido de las celdas. A diferencia de la página de CSV a JSON, aquí no hay un paso de «convertir a número», porque en XML no existe el tipo número: cada valor es texto entre dos etiquetas. Por eso el monto 1.250,00, el porcentaje 12,5 y un teléfono que empieza por 0 salen escritos exactamente igual. Si el programa de destino solo entiende el punto como signo decimal, cambie el formato en Excel antes de convertir; la herramienta no adivina por usted.

Separador entre comillas: en una celda entrecomillada como "Plato; porcelana" el punto y coma no parte la columna, y un salto de línea dentro de comillas no parte el registro; la comilla doble repetida ("") se lee como una sola comilla. Si una fila tiene más celdas que el encabezado, las celdas sobrantes se llaman columna4, columna5…; en una fila corta, el campo que falta no se escribe y no se confunde con un elemento vacío.

  • «Precio unitario» → <Precio_unitario> (el espacio pasa a guion bajo y se avisa)
  • «2024 ventas» → <_2024_ventas> (guion bajo delante del nombre que empieza por número)
  • 1.250,00 · 12,5 · 0155… → se escriben tal cual, sin interpretar
  • "Plato; porcelana" → una sola celda: el separador entre comillas es dato

¿Qué ajuste conviene en cada caso?

Nombre del elemento de fila: el valor por omisión, row, funciona en la mayoría de las pantallas de importación; pero si el sistema de destino espera un nombre concreto (producto en un catálogo, cliente en una lista de clientes, asiento en un libro contable), escríbalo y la salida queda lista para usar. El nombre que escriba pasa por la misma regla XML: si escribe «registro de venta», verá <registro_de_venta>.

Nombre del elemento raíz: XML exige un único elemento exterior; root es un nombre genérico y seguro, pero si el sistema pide una estructura como <productos> con <producto> dentro, escriba productos en la casilla de la raíz. Lo habitual es la raíz en plural y la fila en singular; así el documento se entiende de un vistazo.

Celda vacía: si el programa de destino busca los mismos campos en cada registro (la mayoría de las importaciones funcionan así), deje «Se escribe un elemento vacío»: una celda de teléfono vacía sale como <Telefono/> y el número de campos no cambia. Si prefiere un archivo más pequeño o que el campo vacío no aparezca, elija «Se omite». El signo separador solo hay que fijarlo a mano cuando la detección falla: si en las primeras filas el punto y coma aparece también dentro del texto, elegir «Punto y coma» a mano da un resultado seguro.

Preguntas frecuentes

¿Cómo convierto un archivo CSV a XML?

Abra el archivo CSV con el Bloc de notas, TextEdit o cualquier editor de texto, copie el contenido y péguelo en el panel izquierdo de esta página; el XML se genera al instante en el panel derecho. La primera fila se toma como encabezado y cada encabezado se vuelve un nombre de elemento; cada fila de datos pasa a ser un elemento <row>. Puede copiar el resultado o descargarlo como archivo .xml.

¿Por qué el CSV que guardé desde Excel sale en una sola columna?

En un Windows configurado en español de España, Argentina o Colombia, Excel usa la coma como signo decimal y por eso guarda el CSV separado por punto y coma; un programa que espera comas ve el archivo como una sola columna. En esta página el separador se detecta mirando las primeras filas, así que un archivo con punto y coma se parte bien. Si aun así ve una sola columna, elija «Punto y coma» en el ajuste «Signo que separa las columnas»; el número de campos en la línea de resultado le confirma que se arregló.

¿Por qué cambiaron los encabezados de las columnas en el XML?

Un nombre de elemento XML no puede llevar espacios, paréntesis ni comillas, ni empezar por un número o por «xml». Un encabezado que incumple la regla, escrito tal cual, haría el documento imposible de analizar. La herramienta lo adapta en vez de descartarlo: los espacios y los signos no permitidos pasan a guion bajo, al nombre que empieza por número se le antepone un guion bajo, y las tildes y la eñe se conservan. La línea de resultado indica cuántos encabezados cambiaron y cómo; si escribe los encabezados sencillos desde el CSV, no cambian.

¿Los datos que pego se envían a algún servidor?

No. El análisis del CSV y la generación del XML ocurren por completo dentro de su navegador; aunque pegue una lista de clientes, un catálogo de precios o una nómina, los datos no salen de esta página ni se guardan en ningún sitio. Con la página ya abierta, la conversión funciona incluso sin conexión a Internet.