Cómo subrayar texto con Markdown

Por qué Markdown no tiene subrayado y cómo conseguirlo igualmente con HTML, CSS o la sintaxis propia de editores como Discord o Bear, y qué alternativas usar en su lugar.

Markdown no tiene una sintaxis para subrayar texto. Ni la especificación original ni CommonMark ni GitHub Flavored Markdown la incluyen, así que no existe una marca estándar que funcione en todas partes. Aun así, hay varias formas de conseguirlo según dónde escribas, y en esta guía verás cuáles funcionan y cuándo conviene usar otra cosa.

Por qué Markdown no tiene subrayado

La ausencia es deliberada. Markdown nació para escribir contenido web, y en la web el subrayado tiene un significado muy concreto: indica un enlace. Un texto subrayado que no se puede pulsar confunde al lector, que intenta hacer clic y no pasa nada. Por eso Markdown ofrece otras formas de dar énfasis, como la negrita y la cursiva, y deja el subrayado fuera.

El problema aparece cuando el destino no es una web. Si redactas un trabajo académico, un documento que vas a exportar a Word o un libro, el subrayado puede ser una convención de estilo que necesitas respetar. Para esos casos tienes las opciones que siguen.

Subrayado mediante HTML

La solución más portable es usar HTML dentro del Markdown. La mayoría de procesadores lo admiten, aunque algunas plataformas lo filtran por seguridad. Hay dos etiquetas que producen subrayado, y no significan lo mismo.

La etiqueta ins

La etiqueta <ins> marca un texto insertado en un documento, como una adición en una revisión. Los navegadores la muestran subrayada por defecto. Es la opción que recomienda GitHub en su documentación para subrayar en archivos .md y comentarios.

En el siguiente ejemplo subrayamos un texto con <ins>:

El siguiente <ins>texto debería subrayarse</ins>

Si el editor que usas admite HTML, el resultado será:

El siguiente texto debería subrayarse

La etiqueta u

La etiqueta <u> sirve para marcar texto con una anotación no textual, como una palabra mal escrita o un nombre propio en ciertos sistemas de escritura. Visualmente también se muestra subrayada.

En el siguiente ejemplo subrayamos un texto con <u>:

El siguiente <u>texto debería subrayarse</u>

Si el editor que usas admite HTML, el resultado será:

El siguiente texto debería subrayarse

Cuál de las dos usar

En pantalla se ven igual, así que la elección depende del significado. Usa <ins> cuando el subrayado indica que algo se ha añadido, por ejemplo al mostrar los cambios entre dos versiones de un texto. Usa <u> cuando solo quieres el efecto visual. Si publicas en GitHub, <ins> es la que aparece en su documentación oficial, así que es la apuesta segura allí.

Subrayado con CSS en línea

Si tu procesador admite HTML con el atributo style, puedes aplicar la propiedad text-decoration a un <span>. Tiene la ventaja de que permite elegir el estilo de la línea, por ejemplo ondulada o de otro color.

En el siguiente ejemplo subrayamos un texto con CSS:

El siguiente <span style="text-decoration: underline;">texto debería subrayarse</span>

El resultado será:

El siguiente texto debería subrayarse

Ten en cuenta que muchas plataformas eliminan el atributo style aunque admitan HTML, así que esta opción es menos portable que <ins> o <u>. Es la misma limitación que explicamos en cómo cambiar el color del texto.

Sintaxis propia de algunos editores

Algunas aplicaciones han añadido su propia marca de subrayado. Funcionan bien dentro de esa aplicación, pero el texto no se verá subrayado si lo llevas a otro editor.

Discord

En Discord, dos guiones bajos a cada lado subrayan el texto. Es justo la sintaxis que en Markdown estándar produce negrita, así que el mismo texto se verá distinto fuera de Discord.

En el siguiente ejemplo subrayamos un texto en Discord:

El siguiente __texto debería subrayarse__

Discord permite combinarlo con otros estilos, por ejemplo __**texto**__ para subrayado y negrita a la vez.

Bear

En Bear, el subrayado se escribe con una sola virgulilla a cada lado del texto, mientras que dos virgulillas producen tachado.

En el siguiente ejemplo subrayamos un texto en Bear:

El siguiente ~texto debería subrayarse~

Cuidado al llevar estas notas a otros editores: en GitHub Flavored Markdown una sola virgulilla a cada lado también puede interpretarse como tachado.

Otros editores

Editores como Typora no tienen una marca propia y remiten directamente a la etiqueta <u>. Otros, como Obsidian, admiten HTML en las notas, así que <u> e <ins> funcionan sin configurar nada.

Alternativas al subrayado

Antes de recurrir a HTML, piensa si de verdad necesitas el subrayado o solo quieres destacar algo. Si es lo segundo, Markdown tiene opciones que funcionan en todas partes y no se confunden con enlaces:

  • Negrita: para lo más importante de un párrafo.
  • Cursiva: para términos, títulos de obras o un énfasis más suave.
  • Resaltado: el efecto de rotulador fluorescente, disponible en muchos editores.
  • Color: cuando el procesador admite HTML y necesitas distinguir varios tipos de información.

Si publicas en la web, la recomendación general es reservar el subrayado para los enlaces y usar negrita o cursiva para el énfasis. Tu texto será más claro y funcionará igual en cualquier editor.

Y con esto ya hemos terminado. Espero que te haya resultado de ayuda.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado este tutorial. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirlo en Twitter.

para estar al día con mi contenido. 😊