Markdown.es Logo Markdown.es

¿Te es útil esta web? Apóyala sin coste: si compras en Amazon, hazlo a través de nuestro enlace de afiliado — el precio es el mismo para ti y nos ayuda a seguir.

Subrayado en Markdown: por qué no existe y cómo hacerlo igualmente

Markdown no tiene sintaxis de subrayado, y es intencionado. Cómo subrayar con las etiquetas u e ins de HTML, el caso especial de Discord y qué usar en su lugar.

Buscas el equivalente de **negrita** para subrayar y no lo encuentras. No es que se te escape: Markdown no tiene sintaxis de subrayado. Ni la original de Gruber, ni CommonMark, ni la extendida de GitHub.

Y no es un olvido.

Por qué se dejó fuera

En una página web, el texto subrayado significa una cosa: es un enlace. Es la convención más antigua y más interiorizada de la interfaz de un navegador; la gente lleva treinta años haciendo clic en lo que está subrayado.

Markdown nació para escribir texto que se convierte en HTML, así que añadir una sintaxis cómoda para fabricar falsos enlaces habría sido tirarse piedras sobre el propio tejado. Los asteriscos y guiones bajos se reservaron para negrita y cursiva, que transmiten énfasis sin colisionar con nada.

La solución: HTML embebido

Markdown acepta HTML dentro del documento. Para subrayar, la etiqueta es <u>:

Esto va <u>subrayado</u> dentro del párrafo.

Esto va subrayado dentro del párrafo.

Funciona en cualquier procesador que no filtre el HTML, que son la mayoría. Es la respuesta corta y la que vas buscando.

Un aviso: en un bloque de HTML de varias líneas, deja una línea en blanco antes y después. Si lo pegas justo debajo de un párrafo, algunos procesadores tratan el conjunto como un solo bloque HTML y dejan de interpretar el Markdown de dentro.

<u> o <ins>: no son lo mismo

Hay dos etiquetas que pintan igual y significan cosas distintas:

EtiquetaQué significaCuándo usarla
<u>Texto que se anota de forma no textual, sin másSubrayado puramente visual
<ins>Contenido insertado en el documentoMarcar una adición, junto a <del>

Si estás mostrando cambios sobre un texto, la pareja correcta es <ins> y <del>, no <u>:

El plazo era <del>el viernes</del> <ins>el lunes</ins>.

El plazo era el viernes el lunes.

Para todo lo demás, <u>.

El caso raro: Discord

Discord usa su propio dialecto y ahí sí hay atajo, pero con un significado distinto al estándar:

__texto__     → subrayado en Discord
__texto__     → negrita en Markdown estándar

Es la fuente de confusión número uno con este tema. Si copias un mensaje de Discord a GitHub, a Obsidian o a tu blog, lo que allí salía subrayado aquí saldrá en negrita. No es un fallo del destino: es que Discord reasignó esa sintaxis.

Fuera de Discord, __texto__ es exactamente lo mismo que **texto**. Lo tienes en detalle en negrita y cursiva.

Compatibilidad

Plataforma<u>texto</u>Atajo propio
GitHub / GitLab
ObsidianCtrl/Cmd + U inserta <u>
NotionCtrl/Cmd + U (formato propio)
VS Code (vista previa)
TyporaCtrl/Cmd + U
Discord__texto__
Reddit
Slack

Las plataformas que lo marcan con ❌ filtran el HTML por seguridad: ahí no hay forma de subrayar, y verás la etiqueta escrita tal cual o simplemente desaparecerá.

Casi siempre hay algo mejor

Antes de subrayar, merece la pena pararse un segundo, porque el subrayado suele ser la peor de las opciones disponibles:

  • Para dar énfasis, usa negrita. Es lo que espera el lector y lo que entienden todas las plataformas.
  • Para un matiz o un término que introduces, usa cursiva.
  • Para resaltar como con un rotulador, algunos procesadores (Obsidian, y GitHub desde 2024) admiten ==texto==.
  • Para marcar algo eliminado o corregido, usa tachado o la pareja <del>/<ins>.

El subrayado se queda para cuando reproduces un documento que ya venía subrayado, o cuando una guía de estilo te lo impone.

Un apunte de accesibilidad

Volvemos al principio: el subrayado se lee como un enlace. Alguien que recorra la página por encima intentará hacer clic, y no pasará nada.

Los lectores de pantalla, además, no anuncian el subrayado por defecto, igual que ocurre con el tachado. Es decir: molesta a quien ve la página y no aporta nada a quien no la ve. Si la distinción es importante, dila con palabras y no solo con el formato.

No lo confundas con los encabezados subrayados

Buscando “subrayado en Markdown” es fácil acabar en la sintaxis setext, que es otra cosa: consiste en subrayar una línea con = o - para convertirla en un título.

Un título de nivel 1
====================

Ahí el subrayado no se ve en el resultado; es la marca que le dice al procesador que esa línea es un encabezado. Lo tienes explicado en encabezados.

Pruébalo

Comprueba si tu procesador respeta la etiqueta <u> pegando el texto en el previsualizador de Markdown.