Convertir una página web o código HTML en texto plano
Cómo pasar código HTML a texto plano conservando párrafos: quitar etiquetas, script y style, interpretar entidades como & y convertir tablas en tabulaciones.
A veces solo tienes el código HTML —la vista HTML de un editor de blog, una plantilla de correo, un archivo exportado de un CMS— y quieres extraer únicamente el texto. Si quitas las etiquetas a mano, es fácil que queden entidades como & o código de scripts.
Cadena básica
La receta incluida sigue este orden.
- Quitar etiquetas HTML — quita las etiquetas, convierte los límites de bloque en saltos de línea y las entidades en caracteres.
- Limpiar caracteres invisibles y comillas — convierte en caracteres normales el NBSP (U+00A0) procedente de
y las comillas tipográficas. - Quitar espacios al inicio y al final — elimina los espacios que la sangría del código deja al inicio de las líneas.
- Eliminar líneas vacías — con «Reducir las vacías seguidas a una», deja una sola línea de separación entre párrafos.
- Reducir espacios y tabulaciones seguidos — reduce a uno los espacios múltiples dentro de cada línea.
- Quitar etiquetas HTML
- Limpiar caracteres invisibles y comillas
- Quitar espacios al inicio y al final
- Eliminar líneas vacías
- Reducir espacios y tabulaciones seguidos
Qué hace la eliminación de etiquetas
- Comentarios y código ejecutable: los comentarios
<!-- -->y los elementos<script>,<style>,<noscript>y<template>se eliminan con su contenido. Si solo se quitaran las etiquetas, el código JavaScript o CSS quedaría como si fuera texto. - Etiquetas de bloque y saltos de línea: con «Etiquetas de bloque y <br> → salto de línea» activada, se cambia de línea en los
<br>y en los límites de elementos de bloque comop,div,h1~h6,liotr. Tanto la etiqueta de apertura como la de cierre generan un salto, así que aparecen líneas vacías; tres o más líneas vacías seguidas se reducen a dos. - Tablas: el final de cada celda (
</td>,</th>) se convierte en tabulación. Si pegas el resultado en una hoja de cálculo, las columnas quedan separadas. - Entidades: con «Interpretar entidades como &» activada, las entidades con nombre de uso frecuente como
&<>" …y las numéricas como''se convierten en caracteres reales. Las entidades con nombre que la herramienta no conoce se dejan tal cual.
<h2>Aviso</h2> <p>Este es el calendario de mantenimiento.<br>Dudas en el foro de Q&A.</p> <ul><li>Lunes: servidor</li><li>Miércoles: BD</li></ul> <script>track();</script>
El código anterior queda así.
Aviso Este es el calendario de mantenimiento. Dudas en el foro de Q&A. Lunes: servidor Miércoles: BD
Si no quieres líneas vacías entre los elementos de la lista, elige «Eliminar todas las líneas vacías» en lugar de reducir las seguidas. Eso sí, también desaparecerán las líneas vacías entre párrafos.
Si quieres conservar la estructura de tabla
El último paso de la receta, «Reducir espacios y tabulaciones seguidos», tiene activada por defecto «Convertir también las tabulaciones», así que convierte en espacios las tabulaciones de la tabla. Quitar espacios al inicio y al final también elimina las tabulaciones de los extremos de la línea. Para usar la tabla como datos separados por tabulaciones, desactiva «Convertir también las tabulaciones» en ese paso y desactiva el paso de quitar espacios al inicio y al final.
Diferencias con copiar desde la pantalla del navegador
No da el mismo resultado seleccionar y copiar una página web en pantalla que limpiar su código HTML con esta herramienta.
- Esta herramienta no interpreta el CSS. El texto de los elementos ocultos con
display:nonetambién queda en el resultado. - El texto alternativo de las imágenes (
alt) y las direcciones de los enlaces (href) desaparecen con las etiquetas. Si necesitas las direcciones, anótalas desde el código antes de quitar las etiquetas. - Si en el código HTML una frase larga está escrita en varias líneas, esos saltos se mantienen. En ese caso ayuda añadir después Reparar saltos de línea copiados de PDF, que une las líneas de un mismo párrafo.
- En los límites de elementos que no son de bloque, como
<span>, no se inserta ni salto de línea ni espacio, así que el texto de elementos que estaban pegados sin espacio en el código sale pegado.
Caracteres ocultos en las plantillas de correo
En el HTML de los boletines a veces se insertan decenas de caracteres invisibles como ‌ o ​ para controlar el texto de vista previa en la bandeja de entrada. La eliminación de etiquetas convierte esas entidades en el no-unión de ancho cero (U+200C) y el espacio de ancho cero (U+200B), y el segundo paso de la receta los elimina. Si desactivas el paso «Limpiar caracteres invisibles y comillas», esos caracteres se quedan en el resultado y un texto aparentemente correcto puede no coincidir en búsquedas o comparaciones.
Si quieres volver a poner viñetas delante de los elementos de la lista, añade después de la receta «Añadir texto al inicio y al final de cada línea» con - al inicio. Pero se añadirá a todas las líneas, así que no encaja con resultados que mezclan títulos y párrafos.
Atención
- Se eliminan como etiquetas las secuencias en las que tras
<viene una letra y que se cierran con>. En códigos poco habituales con>dentro del valor de un atributo puede quedar algún fragmento. - Las entidades se interpretan después de quitar las etiquetas, así que un
<b>del código no se trata como etiqueta y queda como el texto<b>. Es el comportamiento previsto.
Lista de comprobación
- Pega el código completo y prueba primero la receta.
- Si vas a usar tablas, desactiva los pasos que eliminan tabulaciones.
- Si necesitas las direcciones de los enlaces, guárdalas antes de quitar las etiquetas.
Última actualización: 2026-09-23