La herramienta que necesitas, lista para usar

Convertidor de HTML a Markdown

Pega código en el cuadro HTML, o pega texto copiado de una página web o de Google Docs, y el cuadro Markdown muestra el resultado al instante. Puedes elegir la marca de los títulos, la viñeta de las listas, el símbolo de énfasis, la valla de código, el estilo de los enlaces y el formato de las tablas. El mapa de estructura y el registro de conversión indican en qué bloques se convirtió el documento y qué se omitió o se escribió de otra forma.

Última modificación 2026-10-22Todo el cálculo ocurre en tu navegador
Ejemplo

Markdown

Estilo de Markdown
Títulos
Listas
Énfasis
Código
Enlaces
Tablas

Mapa de estructuraPulsa una banda para seleccionar esa parte del resultado

    Tamaño HTML Markdown

    Registro de conversiónLo que se omitió o se escribió de otra forma

      Última modificación 2026-10-22No guardamos lo que escribes

      Criterio ROBERINLa herramienta que necesitas,
      lista para usar.
      • Claro a primera vistaEntradas y resultados donde los esperas.
      • Primero el resultadoLa cifra clave va primero; el proceso solo cuando lo necesitas.
      • Pedir menosSin registro ni datos innecesarios.

      Convierte HTML a Markdown GFM y consulta qué se quedó fuera

      Este convertidor transforma los títulos, párrafos, listas, tablas, código y enlaces de un documento HTML a Markdown de GitHub (GitHub Flavored Markdown, GFM). <h2> pasa a ##, <strong> pasa a **, un enlace pasa a [texto](url) y una tabla pasa a una tabla Markdown con las columnas separadas por |. A diferencia de un limpiador de etiquetas, conserva la estructura del documento, de modo que el resultado se puede pegar directamente en un README de GitHub o en una aplicación de notas que use Markdown.

      Puedes pegar código HTML o texto copiado de una página web o de Google Docs. El texto copiado llega con el formato HTML que el navegador deja en el portapapeles, y ese formato es el que se convierte. Debajo del resultado, un mapa de estructura muestra el orden de los bloques del documento y un registro de conversión enumera lo que Markdown no pudo reflejar tal cual, como las celdas combinadas, las direcciones relativas o los vídeos incrustados.

      Cuándo conviene pasar HTML a Markdown

      • Trasladar una entrada de blog o de un CMS: las entradas de un CMS, WordPress incluido, se guardan como HTML. Convertirlas es más rápido que volver a escribir títulos, listas y enlaces al pasar a un generador de sitios estáticos o a una aplicación de notas en Markdown.
      • Convertir una página web en un README o en documentación técnica: si pegas una página con pasos de instalación, los lenguajes de los bloques de código (language-bash) y las casillas de las listas de tareas pasan a GFM.
      • Pasar Google Docs o actas de reuniones a notas en Markdown: el texto copiado de un editor de documentos suele indicar la negrita y la cursiva con valores de style en lugar de etiquetas. El convertidor lee esos valores y escribe **negrita** y *cursiva*.
      • Dar una página web a una herramienta de IA o a una nota ocupando menos: sin atributos class y style ni scripts, el mismo contenido es mucho más corto. En los ejemplos de arriba, "Copiado de un editor de documentos" pasa de 1.127 bytes a 287 y "Boletín por correo" de 1.062 a 412.
      • Archivar un boletín o un correo: el HTML de los correos está lleno de tablas de maquetación y de imágenes de 1×1 que avisan de que se abrió el mensaje. Las tablas de maquetación se convierten en texto y las imágenes de seguimiento se eliminan, de modo que queda un documento legible.

      Cómo se usa

      1. Añadir el HTML: pega el código en el cuadro HTML o selecciona en una página web la parte que quieras, cópiala (Ctrl+C) y pégala. Abre un archivo HTML o HTM con "Abrir archivo" o arrástralo al cuadro. Mientras haya un ejemplo cargado, lo que pegues lo sustituye.
      2. Comprobar cómo se pegó: el texto copiado de una página entra como formato HTML, y el código HTML copiado de un editor de código entra como caracteres. Si eligió mal, pulsa "Pegar como texto" o "Pegar con formato" en la línea de estado.
      3. Elegir el estilo de Markdown: marca de los títulos (# o subrayado), viñeta de las listas (- * +), símbolo de énfasis, valla de código, estilo de enlaces y formato de tablas. El resultado se reescribe en cuanto cambias un ajuste.
      4. Indicar la URL base: si el HTML tiene direcciones relativas como /images/a.jpg, escribe la dirección de la página original en el cuadro de URL base para convertirlas en direcciones completas. Si el HTML contiene una dirección base, canonical u og:url, se rellena sola.
      5. Revisar y llevarse el resultado: mira la vista previa, pulsa una banda del mapa de estructura para saltar a esa parte del resultado y lee el registro de conversión. Usa "Copiar Markdown" o "Guardar .md". Ctrl+Intro (⌘Intro) en el cuadro de resultado también copia.

      Cómo se convierte cada etiqueta

      Son los resultados que produce el convertidor con su configuración predeterminada (títulos #, viñetas -, énfasis *, valla ```, enlaces en línea, tablas Markdown).

      HTMLMarkdownNotas
      <h2>Instalación</h2>## InstalaciónDe h1 a h6 pasan a ser de uno a seis #. El estilo con subrayado solo cubre los niveles 1 y 2.
      <strong>negrita</strong> <em>cursiva</em>**negrita** *cursiva*Las etiquetas b e i, un font-weight de 600 o más en style y font-style:italic dan el mismo resultado.
      <del>antiguo</del>~~antiguo~~Tachado de GFM. Las etiquetas s y strike y line-through también lo producen.
      <code>npm i</code>`npm i`Si el código contiene una comilla invertida, se rodea con una secuencia más larga de comillas invertidas.
      <a href="https://example.com">Ejemplo</a>[Ejemplo](https://example.com)Cuando el texto y la dirección coinciden, se abrevia a <https://…>.
      <img src="a.png" alt="Gráfico">![Gráfico](a.png)El archivo de imagen no se incluye; solo se conserva su dirección.
      <ul><li>Manzanas</li><li>Peras</li></ul>- Manzanas
      - Peras
      Las listas anidadas se sangran con el ancho de la viñeta superior.
      <ol start="3"><li>Tercero</li></ol>3. TerceroSe conserva el número inicial.
      <li><input type="checkbox" checked> Hecho</li>- [x] HechoUna casilla al principio de un elemento de lista pasa a ser una tarea de GFM.
      <blockquote>Cita</blockquote>> CitaLas listas y el código dentro de una cita llevan un > en cada línea.
      <pre><code class="language-js">```js … ```El nombre del lenguaje se toma de una clase language- o lang-.
      Primera línea<br>Segunda líneaPrimera línea␣␣
      Segunda línea
      Dos espacios al final de la línea forman un salto de línea. Dentro de una celda de tabla se queda como <br>.
      H<sub>2</sub>OH<sub>2</sub>Osup, sub, kbd, mark y u no tienen sintaxis en GFM, así que se conservan las etiquetas.
      <hr>---Una línea horizontal.

      Dónde se rompe Markdown en un texto corriente en español

      Los símbolos de Markdown funcionan o fallan según los caracteres que los rodean, así que un texto que parece inofensivo puede cambiar de significado. La columna "Con símbolos sin más" muestra qué ocurre si solo se cambian las etiquetas por símbolos; cada caso se renderizó con markdown-it (CommonMark 0.31.2) y con marked (GFM) para comprobarlo. El convertidor añade una barra invertida solo donde hace falta. En idiomas que pegan partículas a las palabras, como el coreano y el japonés, hay además un problema con ** junto a un signo de puntuación, que el convertidor resuelve escribiendo <strong>.

      OriginalCon símbolos sin másEste convertidor
      1986. Un gran año1986. Un gran año → CommonMark genera una lista numerada que empieza en 1986, y la frase pasa a ser un elemento de lista.1986\. Un gran año
      Camina 10~15 km o 20~30 kmCamina 10~15 km o 20~30 km → en GFM se tacha "15 km o 20", porque GFM también lee un par de ~ sueltas como tachado.Camina 10\~15 km o 20\~30 km
      [Nota](opcional) antes de empezar[Nota](opcional) → "Nota" se convierte en un enlace que apunta a "opcional".[Nota\](opcional) antes de empezar
      Define primero snake_case_nameDefine primero snake_case_name → se renderiza igual, como un párrafo, porque un guion bajo dentro de una palabra no inicia énfasis.Define primero snake_case_name (sin barra invertida)

      La última fila es intencionada: una barra invertida que no hace falta solo dificulta la lectura del Markdown, así que el convertidor no la añade. Lo mismo ocurre con un # que no está al principio de la línea, como en C#. Si eliges _ como símbolo de énfasis, solo los casos en que no funcionaría dentro de una palabra, como in__crei__ble, se escriben con **.

      Al pegar desde una página web o desde Google Docs

      Cuando copias texto en un navegador, el portapapeles guarda a la vez los caracteres visibles (text/plain) y la versión con formato (text/html). El convertidor lee ambos en el momento de pegar. Si el texto sin formato contiene etiquetas visibles, considera que has pegado código HTML; si no, que has copiado el contenido de una página. Así, al arrastrar sobre una página web entra el HTML de esa parte, y al copiar código HTML de un editor de código entran los caracteres del código y no los colores de sintaxis del editor.

      Google Docs envuelve todo el intervalo copiado en <b style="font-weight:normal" id="docs-internal-guid-…"> y escribe la negrita y la cursiva reales como font-weight:700 y font-style:italic en los span. Se ha informado de varios editores que leen esa etiqueta b envolvente como negrita, de modo que todo lo pegado acaba entre **…**. Este convertidor no trata como negrita una etiqueta b con font-weight:normal, y traslada la negrita, la cursiva, el tachado y el superíndice a partir de los valores de style de los span interiores. El ejemplo "Copiado de un editor de documentos" de arriba es justamente un HTML de este tipo.

      Qué tener en cuenta al convertir tablas

      Una tabla GFM necesita primero una fila de encabezado y después una fila delimitadora con ---. Los dos puntos de la fila delimitadora fijan la alineación: :--- es a la izquierda, ---: a la derecha y :---: centrada. El convertidor toma la alineación del atributo align o de text-align en style y rellena las celdas con espacios para que las columnas también queden alineadas en el Markdown sin renderizar (si una columna supera los 40 caracteres, no se rellena).

      • Un | dentro de una celda: se escribe como \| para que no se confunda con el borde de la celda. Según la especificación de GFM, un | dentro de un fragmento de código o de un enlace se escribe igual.
      • Varias líneas en una celda: las celdas de las tablas GFM no admiten bloques como párrafos o listas, así que las líneas se unen con <br>.
      • Celdas combinadas: una tabla Markdown no puede combinar celdas. De forma predeterminada, los huecos de la combinación se dejan como celdas vacías; si cambias el ajuste de tablas a HTML, la tabla se conserva como tabla HTML con su rowspan y colspan, sin class ni style.
      • Tablas sin encabezado: como la fila de encabezado es obligatoria, se usa la primera fila. El registro de conversión indica cuántas tablas son.
      • Tablas de maquetación: una tabla con role="presentation", una tabla dentro de otra o una tabla de una sola columna se considera maquetación y no datos, y sus celdas se pasan a texto una tras otra. Es habitual en el HTML de los correos.

      Cómo elegir el estilo de Markdown

      AjusteValoresCuándo elegirlo
      Títulos# Título / subrayadoLos subrayados (===, ---) solo existen para los niveles 1 y 2, así que desde el nivel 3 se usa #. En la mayoría de los documentos, el estilo # es más fácil de leer y de editar.
      Listas- * +El resultado renderizado es el mismo. Dos listas seguidas con la misma viñeta se fusionan en una, así que se separan con <!-- -->.
      Énfasis* / _* funciona dentro de las palabras y junto a signos de puntuación; _ no funciona dentro de una palabra. Aunque elijas _, los casos en que fallaría se escriben con *.
      Código``` / ~~~ / sangríaSolo los estilos con valla conservan el nombre del lenguaje (```js). Si el código contiene la misma valla, se usa una más larga.
      EnlacesEn línea / por referenciaEl estilo por referencia se lee mejor cuando las direcciones son largas. El texto lleva [texto][1], el documento termina con [1]: url y los enlaces con la misma dirección y el mismo title comparten número.
      TablasMarkdown / HTMLHTML conserva la forma de las tablas con celdas combinadas o con listas largas dentro de una celda. Elige Markdown si el destino elimina el HTML.

      Cuánto se reduce el tamaño

      Al quitar atributos de estilo, scripts y tablas de maquetación, el tamaño baja mucho aunque el contenido sea el mismo. Estos son los valores que muestra la barra de tamaño al abrir cada ejemplo (bytes en UTF-8). El HTML de editores de documentos, lleno de valores style, y el HTML de correos son los que más se reducen.

      EjemploHTMLMarkdownReducción
      Entrada de blog919 B620 B33 %
      Tabla con celdas combinadas718 B483 B33 %
      Documentación técnica872 B588 B33 %
      Copiado de un editor de documentos1.127 B287 B75 %
      Boletín por correo1.062 B412 B61 %

      Errores frecuentes

      • Pegar el código fuente completo de la página y llevarse también los menús: el código de "ver código fuente" incluye la navegación superior y los enlaces del pie. Si solo necesitas el artículo, selecciona esa parte en la página, cópiala y pégala.
      • Publicar las direcciones relativas tal cual: /uploads/a.jpg solo se abre en el sitio original. Indica una URL base para convertirla en una dirección completa.
      • Creer que faltan las imágenes en la vista previa: por privacidad y por velocidad, la vista previa no carga las imágenes y muestra una marca "Imagen" con el texto alternativo. Un ![descripción](url) en el resultado es correcto.
      • Interpretar una celda vacía de una tabla Markdown como un valor que falta: puede ser un hueco de una celda combinada. Si el registro menciona celdas combinadas, compara con la tabla original o deja la tabla como HTML.
      • Borrar los dos espacios del final de la línea: un salto de línea (br) se escribe con dos espacios al final. Un editor que elimina los espacios finales al guardar quita los saltos de línea.
      • Pegar en un lugar que no acepta etiquetas HTML: el superíndice, las teclas, las secciones plegables y las tablas HTML se escriben como etiquetas. En un editor que elimina el HTML, el texto se queda pero se pierde el formato.

      Limitaciones

      • Markdown describe la estructura del documento, así que no se trasladan el color, las fuentes, los márgenes ni la disposición de CSS.
      • No descarga una página a partir de su dirección web (URL). El contenido que solo aparece tras iniciar sesión, o que un script rellena más tarde, hay que copiarlo de la pantalla y pegarlo.
      • Los archivos de imagen y de vídeo no entran en el .md; solo queda su dirección. Las imágenes incrustadas en el texto como direcciones data: se eliminan porque alargan el resultado en exceso.
      • iframe, video y audio quedan solo como enlaces a su dirección, y no se trasladan los formularios (campos y botones) ni los gráficos SVG.
      • El HTML de un procesador de textos que escribe las listas como párrafos que empiezan por un símbolo de viñeta puede salir como párrafos y no como lista.
      • La entrada se lee hasta 2 MB. Cómo se ve el resultado en GitHub depende de la especificación GFM; los editores difieren en el tratamiento de las etiquetas HTML y de los saltos de línea.

      Fuentes

      Referencia: la sintaxis de Markdown procede de las especificaciones GFM 0.29-gfm y CommonMark 0.31.2, y el comportamiento del navegador, de MDN. Todo se comprobó el 22 de octubre de 2026. Los renders de la tabla anterior se obtuvieron con markdown-it (CommonMark) y marked (GFM), y el Markdown de las tablas es la salida de esta herramienta.

      Preguntas frecuentes

      ¿En qué se diferencia de un eliminador de etiquetas HTML?

      Un eliminador de etiquetas deja solo el texto. Este convertidor transforma h2 en ##, strong en **, un enlace en [texto](url) y una tabla en una tabla Markdown separada por |, de modo que se conserva la estructura del documento. El resultado se puede pegar tal cual en un README de GitHub o en una aplicación de notas con Markdown.

      ¿Puedo escribir la dirección de una página web (URL) y convertirla directamente?

      No. La herramienta no pasa por ningún servidor, por lo que no descarga el HTML de otros sitios. Selecciona en la página la parte que quieras, cópiala y pégala en el cuadro HTML: el formato de la página llega como HTML. Si necesitas la página entera, copia el código desde "ver código fuente" del navegador (Ctrl+U) y pégalo.

      ¿El texto copiado de Google Docs no sale todo en negrita?

      No. Google Docs envuelve todo el intervalo copiado en una etiqueta b con font-weight:normal y escribe la negrita y la cursiva reales como valores style de los span (font-weight:700, font-style:italic). Este convertidor no toma la envoltura como negrita: lee los valores style y traslada la negrita, la cursiva y el tachado.

      ¿Por qué queda una etiqueta <strong> donde esperaba una negrita?

      En CommonMark, un ** de cierre justo después de un signo de puntuación y justo antes de una letra no se lee como énfasis, como en **"cita"**s o **(nota)**s. Ocurre sobre todo en idiomas que pegan partículas a las palabras. Escribir <strong>"cita"</strong>s como etiqueta mantiene la negrita en GitHub y sitios similares.

      ¿Por qué aparece una barra invertida antes de la tilde en 10~15?

      GFM también lee como tachado el texto entre un par de ~ sueltas (ejemplo 491 de la especificación). Con dos ~, como en '10~15 km, 20~30 km', el texto intermedio podría verse tachado, así que el convertidor escribe \~. En pantalla se sigue viendo ~.

      ¿Cómo se tratan las tablas con celdas combinadas (rowspan, colspan)?

      Una tabla Markdown no puede combinar celdas, así que de forma predeterminada los huecos de la combinación se dejan como celdas vacías. Para conservar la forma, cambia el ajuste de tablas a HTML. La tabla se queda como HTML sin class ni style, de modo que en sitios que admiten HTML, como un README de GitHub, las celdas combinadas se ven como eran.

      ¿Cómo convierto direcciones relativas como /images/a.jpg en completas?

      Escribe la dirección de la página original en el cuadro de URL base y las direcciones relativas pasarán a ser completas, como https://…/images/a.jpg. Si el HTML contiene una dirección base, canonical u og:url, se rellena sola. Sin base, las direcciones relativas se dejan como están y el registro de conversión indica cuántas son.

      ¿El HTML que introduzco se envía a un servidor o se guarda?

      No. Pegar, leer archivos, convertir y previsualizar ocurre todo en el navegador, y no queda nada en la barra de direcciones ni en el almacenamiento del navegador. Los scripts del HTML no se ejecutan y la vista previa no carga imágenes: solo muestra el texto alternativo.