Convierte HTML a Markdown con DOMParser nativo, sin librerías externas
También podrías necesitar
Convertir HTML a Markdown es una necesidad frecuente: migrar documentación de sistemas CMS a repositorios de código, extraer contenido de páginas web para Obsidian o Notion, o convertir el output de editores WYSIWYG a Markdown para uso en proyectos de software. Esta herramienta implementa la conversión completamente en el navegador usando DOMParser — el mismo motor de parsing HTML que usan los navegadores para renderizar páginas web — sin depender de ninguna librería externa. El converter maneja todos los elementos HTML más comunes: encabezados (h1-h6 → # a ######), texto en negrita (strong/b → **texto**), cursiva (em/i → *texto*), código inline (code → `código`) y bloques de código con el lenguaje detectado de la clase CSS (pre > code.language-X → ```X). Los enlaces se convierten a [texto](url), las imágenes a , las listas ordenadas y no ordenadas mantienen su jerarquía, los blockquotes se transforman en > prefijos y los separadores hr en ---. El resultado se muestra en un panel lateral para comparación inmediata.
¿Por qué usar DOMParser en lugar de una librería como turndown.js?
DOMParser es el motor de parsing HTML nativo del navegador — es el más robusto disponible y garantiza compatibilidad con cualquier HTML válido (e inválido, como el que parsearía Chrome). No requiere cargar ninguna dependencia adicional. El resultado es idéntico al que obtendrías con una librería especializada para los casos de uso más comunes. Para casos avanzados (tablas HTML, spans con estilos inline, HTML muy anidado), turndown.js ofrece mayor control, pero para el 90% de los casos esta implementación nativa es suficiente.
¿Qué elementos HTML no se convierten?
Los elementos que no tienen equivalente directo en Markdown estándar se tratan como contenedores transparentes: su contenido se incluye pero sin formato especial. Esto incluye: tables (no hay soporte nativo de tablas en Markdown básico), span (elemento inline genérico sin semántica de formato), div con clases de estilo visual, form/input/button, y elementos media como video. Para tablas HTML, considera usar la herramienta Markdown Table Generator para recrearlas.
¿Los bloques de código detectan el lenguaje automáticamente?
Sí, si el HTML usa la convención estándar de highlight.js y Prism: <pre><code class='language-javascript'>...</code></pre>. La clase language-X es leída y se incluye en el fence de código Markdown (```javascript). Si no hay clase language-, el bloque se genera sin especificación de lenguaje (```), lo cual sigue siendo válido Markdown y muchos parsers lo renderizan correctamente.
¿El HTML convertido tiene que ser un documento completo?
No. La herramienta acepta tanto fragmentos HTML (un div, una sección, un artículo) como documentos HTML completos con DOCTYPE y head/body. Los elementos head, meta, title, script y style se ignoran en la conversión — solo se procesa el contenido semántico del cuerpo. Puedes pegar directamente el HTML copiado desde el inspector de elementos del navegador.
¿Los estilos inline (style='color:red') se preservan en Markdown?
No. Markdown no tiene soporte para estilos inline como color, tamaño de fuente, alineación o tipografía. Estos atributos de estilo se ignoran durante la conversión — solo se extrae el contenido textual y la semántica estructural (negrita, cursiva, código, etc.). Para contenido que depende de estilos visuales específicos, considera si Markdown es el formato correcto para tu caso de uso, o si HTML sigue siendo necesario.