Validador de XML y CSV online
Pega XML o CSV y elige el formato. La herramienta indica cada problema con línea, columna y una explicación; en CSV, también el separador detectado y una vista previa de las primeras filas. No se sube nada.
Cómo se calcula
XML: qué significa «bien formado»
Un documento XML está bien formado cuando cumple las reglas de sintaxis de la Recomendación del W3C XML 1.0 (quinta edición). La herramienta lo comprueba con su propio analizador (con el mismo mensaje en todos los navegadores) y se detiene en la primera infracción:
- exactamente un elemento raíz; antes y después, solo comentarios, instrucciones de procesamiento y espacios en blanco;
- cada etiqueta de apertura tiene su etiqueta de cierre con un anidamiento correcto (
<a><b></a></b>es incorrecto); los elementos vacíos, como<br/>; - los nombres distinguen mayúsculas y minúsculas:
<Nombre>…</nombre>no coincide; - los valores de atributo van siempre entre
"…"o'…', cada atributo una sola vez por etiqueta y sin<dentro del valor; &y<en el texto solo como&y<; las únicas entidades conocidas son< > & ' ", las referencias de carácter como©y las entidades declaradas en la DTD. oñde HTML no existen en XML;- comentarios sin
--en su interior, secciones CDATA solo dentro de elementos y la declaración XML<?xml version="1.0"?>solo al principio de todo; - ningún carácter prohibido por XML 1.0 (caracteres de control distintos del tabulador y los saltos de línea).
Sin validación contra DTD ni esquema
La herramienta no comprueba si el documento se ajusta a una DTD, a un XML Schema (XSD) o a un estándar como UBL o el CFDI, es decir, si existen los elementos obligatorios o si los valores tienen el formato correcto. Estar bien formado es el requisito previo: cualquier programa rechaza un documento que no lo esté. Una declaración DOCTYPE solo se lee lo necesario para reconocer las entidades declaradas en ella. Los prefijos de espacio de nombres sin declaración xmlns:… se señalan como advertencia.
CSV según la RFC 4180
La RFC 4180 describe el formato CSV habitual:
- un registro por línea y el mismo número de campos en todas las líneas; la fila de encabezado es opcional;
- los campos que contienen el separador, un salto de línea o
"van entre comillas dobles:"García, Ana"; - una
"dentro de un campo se duplica:"Dijo ""Hola"""; sin comillas envolventes, un campo no puede contener"; - los espacios forman parte del campo, así que
a, "b"es un error (el campo empieza por un espacio, no por").
La RFC 4180 solo contempla la coma. Excel con configuración regional de España y de muchos países de Latinoamérica guarda el CSV con punto y coma, porque allí la coma es el separador decimal; también son habituales el tabulador y |. La detección automática cuenta los campos de los primeros 50 registros para cada separador candidato y elige el que da, de forma más constante, al menos dos columnas. Si se equivoca, elige el separador a mano.
La herramienta señala números de campos distintos, comillas sin cerrar o mal colocadas y líneas vacías en mitad del archivo, con el número de línea real (un campo con salto de línea ocupa varias líneas). La RFC 4180 exige finales de línea CRLF; como prácticamente todos los programas leen también LF, el final de línea solo se muestra en el resumen.
Límites
Máximo 5 millones de caracteres; se listan los primeros 50 errores. Las columnas cuentan caracteres empezando por 1 y un tabulador cuenta como un carácter.
Preguntas frecuentes
¿Se suben mis datos?
No. La comprobación se hace por completo en tu navegador. El texto no se añade a la dirección de la página ni se guarda: el enlace solo contiene el formato, el separador y la opción de encabezado.
¿Qué diferencia hay entre XML bien formado y XML válido?
Bien formado significa que la sintaxis XML es correcta (etiquetas, anidamiento, atributos, entidades). Válido significa, además, que el documento cumple las reglas de una DTD o de un XML Schema. Esta herramienta solo comprueba que esté bien formado.
¿Por qué &nbsp; da error?
es una entidad de HTML. Sin DTD, XML solo conoce cinco: < > & ' ". Escribe el espacio de no separación como   o inserta el carácter directamente. Lo mismo vale para ñ: usa ñ o ñ.
Excel muestra mi archivo CSV en una sola columna. ¿Por qué?
Casi siempre por el separador: Excel en español espera punto y coma y el archivo usa comas (o al revés). La herramienta muestra el separador detectado. En Excel, «Datos → Desde el texto/CSV» te permite elegirlo.
¿Por qué una fila tiene demasiados campos?
Casi siempre porque el separador aparece dentro de un valor que no está entre comillas, p. ej. García; Ana en un archivo separado por punto y coma o 1,50 como decimal en un archivo separado por comas. Lo correcto es "García; Ana".
Fuentes y base legal
- §§ 2.1–2.8, 3.1, 4.1 (Well-Formedness Constraints): W3C – Extensible Markup Language (XML) 1.0 (Fifth Edition)
- W3C – Namespaces in XML 1.0 (Third Edition)
- § 2: IETF RFC 4180 – Common Format and MIME Type for Comma-Separated Values (CSV) Files
Última actualización:
Herramientas relacionadas
- Formateador, validador y minificador de JSONValida JSON según la RFC 8259 con línea, columna y explicación clara del error. Formatea o minifica, ordena claves y copia. Funciona en tu navegador.
- Probar regex: tester de expresiones regularesPrueba expresiones regulares de JavaScript en vivo: coincidencias resaltadas, grupos de captura en tabla y el patrón explicado. Gratis, sin subir nada.
- Codificar y decodificar Base64Codifica y decodifica Base64 y Base64url con UTF-8 correcto, y también URL encode/decode (codificación por porcentaje). Errores claros, todo en tu navegador.
- Generador de hash: SHA-256, SHA-512, SHA-1, MD5Calcula hashes SHA-256, SHA-384, SHA-512, SHA-1 y MD5 de textos o archivos y verifica sumas de comprobación, en tu navegador, sin subir nada y gratis.
- Validar la sintaxis de direcciones de correoComprueba una o varias direcciones de correo según RFC 5321/5322: longitudes, dominio, dominios con acentos o ñ (Punycode). En local, sin enviar nada.
- Conversor de timestamp UnixConvierte un timestamp Unix a fecha y al revés: detecta segundos, milisegundos, micro y nanosegundos; muestra UTC, hora local, ISO 8601 y más formatos.