Analizador de HTML
TextoTodo se ejecuta en tu navegador: no se sube nada
⚠️ No hace ninguna petición de red, así que la página la traes tú: ábrela y mira el código fuente, o `curl -s https://example.com > page.html`. Lo que obtienes es el HTML bruto que devolvió el servidor, no el DOM renderizado, que es justo lo que conviene para analizar scripts, enlaces y metaetiquetas. Responde a unas cuantas preguntas concretas: ¿está completo el esquema de encabezados? ¿cuántas imágenes no tienen alt? ¿Cuántas etiquetas hay y cuál domina? ¿Cuál es el texto una vez quitadas las etiquetas? La parte más útil es la detección de saltos de nivel. No se ve mirando los tamaños de letra: la página parece correcta, mientras que los lectores de pantalla y los buscadores leen el esquema para entenderla. Saltar de `<h1>` directamente a `<h3>` sitúa el contenido a la profundidad equivocada para ellos. ⚠️ Dos cosas que conviene dejar claras: No arregla nada. Un navegador rellena tu `</div>` olvidado y saca las etiquetas mal colocadas de las tablas. El analizador de aquí no lo hace: lo que quiere esta herramienta es lo que dice de verdad el texto original. Una etiqueta sin cerrar es un hecho que el autor necesita saber, y un analizador que la arregla en silencio esconde justo eso. El precio es que es un separador de etiquetas tolerante y no un analizador HTML5 completo; para las preguntas de aquí basta. Es el analizador que comparte todo el sitio (HTML a Markdown, conversión de UBB y XPath lo usan también), así que una misma página se lee igual en cualquier herramienta. No juzga si la página es buena. Un salto de nivel o un alt que falta son pistas, no errores: las aplicaciones de una sola página construyen su DOM con JavaScript, así que que un armazón estático no tenga `h1` es legítimo. Y `alt=""` frente a ninguna etiqueta alt son dos cosas distintas, contadas por separado aquí: la primera es una declaración explícita de que es decorativa, la segunda una omisión. Todo se ejecuta en tu navegador.
Funciones
- Esquema de encabezados: h1–h6 en orden con su texto (las etiquetas en línea se atraviesan, así que `<h2>Hola <em>mundo</em></h2>` se lee como `Hola mundo`)
- ⚠️ Detección de saltos: `<h1>` a `<h3>` se señala, con una explicación de por qué importa
- ⚠️ Sin h1 dice «normal en el armazón de una aplicación, quizá una omisión en otro caso» en vez de mostrar solo un 0
- Enlaces: cada `<a href>` con su texto ancla, `rel` y `target` (mostrados como (ninguno) cuando faltan), con los externos marcados
- ⚠️ Tipos de enlace: interno, externo, ancla, mailto, tel, javascript: (inseguro, marcado en rojo con una explicación), descarga y vacío, cada uno con su número y su proporción
- Imágenes: ⚠️ el alt que falta y `alt=""` se cuentan por separado, uno es una omisión y el otro una declaración
- Frecuencia de etiquetas, ordenada y con la proporción de cada una, para ver de qué está hecho realmente el marcado
- Texto plano: el cuerpo sin etiquetas (excluyendo script y style), con saltos de línea en los elementos de bloque
- Información del documento: title, lang, meta description y meta viewport
- Recuentos: bytes, etiquetas totales, caracteres de texto y comentarios
- ⚠️ No repara etiquetas: informa de lo que dice el texto original, y una etiqueta sin cerrar sigue sin cerrar
- ⚠️ Un `>` dentro de un valor de atributo y un `<` dentro de un script no descarrilan el análisis
Cómo se usa
- Pega el HTML: una página entera o un fragmento
- Marca «incluir también el texto» si quieres el cuerpo sin etiquetas
- Léelo por grupos: documento → encabezados → saltos → enlaces → imágenes → etiquetas
Preguntas frecuentes
- ¿Por qué no usar el analizador HTML del navegador?
- Porque un analizador corrige lo que considera HTML erróneo, y una herramienta de análisis necesita ver el texto original. Un `<div>` sin cerrar o una etiqueta mal colocada dentro de una `<table>` son hechos que el autor necesita saber, y un analizador que los arregla en silencio esconde justo eso. También hay una razón estructural: cada herramienta de conversión de este sitio es una función pura, y tocar `document` la haría imposible de probar fuera de un navegador, así que el sitio comparte un analizador sin DOM (HTML a Markdown, conversión de UBB y XPath también lo usan). No implementa el algoritmo completo de análisis de HTML5, solo la separación de etiquetas y texto, como dice la página.
- ¿Qué diferencia hay entre no poner alt y poner alt=""?
- Una grande. Sin atributo alt es una omisión: el lector de pantalla no tiene nada que anunciar y recurre al nombre del archivo («IMG_2043.jpg»). `alt=""` es una declaración explícita de que la imagen es decorativa y debe saltarse. Contarlas juntas hace que una página que usa bien `alt=""` parezca tan mala como una que lo olvidó, cuando los arreglos son opuestos: la primera necesita una descripción, la segunda que la dejen en paz.
- ¿Por qué a veces no tener h1 está bien?
- Porque el HTML de una aplicación de una sola página suele ser solo un armazón: el contenido y los encabezados los construye JavaScript en el navegador, así que el documento que sirve el servidor no tiene `<h1>` de verdad. Los buscadores tratan ese caso de forma específica. En un documento renderizado en servidor o en una entrada de blog, no tener h1 suele significar que se ha olvidado. La herramienta no puede saber de qué tipo es tu página, así que expone las dos posibilidades.
- ¿Para qué sirve la frecuencia de etiquetas?
- Para ver de un vistazo de qué está hecho el marcado. Un fragmento lleno de `<div>` significa maquetación por anidación de contenedores; muchos `<table>`, una tabla o una maquetación antigua; un número inusual de `<span>` suele significar algo pegado de un editor de texto enriquecido y a menudo se puede simplificar. Informa de recuentos sin juzgar: un recuento no es bueno ni malo en sí, pero es el hilo del que tirar.
- ¿Puedo usar directamente el texto extraído?
- Depende para qué. Es un resumen fiel de lo que dice aproximadamente el HTML, válido para contar palabras, hacer extractos o echar un vistazo. Pero no es el resultado renderizado: el contenido generado por CSS, el texto insertado por JavaScript y los pseudoelementos `:before` no aparecen. Para el texto renderizado exacto, usa el inspector del navegador o un navegador sin interfaz.
- ¿Por qué se destacan los enlaces javascript:?
- Porque son la única categoría de este desglose con una dimensión de seguridad. Un `<a href="javascript:...">` ejecuta script al pulsarlo, es una vía habitual de XSS y a menudo el rastro de una concatenación de plantilla mal hecha. Las demás categorías son como mucho un problema de estilo; esta puede ser una vulnerabilidad real, así que tiene su propia fila, en rojo y con una explicación, en vez de quedar enterrada en «otros».
Herramientas relacionadas
Entidades HTML
CifradoConvierte < > & y las comillas en entidades HTML y las devuelve en una sola pasada, así que &lt; da <, no un ángulo. En tu navegador.
Probador de regex
TextoPrueba expresiones regulares en el navegador: resaltado en vivo, grupos de captura, vista previa de sustitución y código para cinco lenguajes.
Inspección de texto
TextoEncuentra caracteres invisibles (ancho cero, BOM) y letras confundibles, y muestra normalización, finales de línea y cuatro recuentos.
Comparar texto
TextoCompara dos textos línea a línea y resalta las líneas añadidas, borradas y sin cambios, alineando cada edición por diferencia mínima. Todo local.
Contador de palabras
Texto¿Cuánto mide este texto? Cuenta por separado caracteres chinos y palabras inglesas, con caracteres, líneas, bytes UTF-8, tiempo de lectura y SMS.
Limpiar texto
TextoLimpia una columna copiada de un log o una hoja: quita duplicados, ordena, borra líneas vacías, recorta espacios y quita la numeración de línea.