Blog

Cómo subrayar en Markdown

La guía completa sobre los subrayados en Markdown. Aprende a subrayar palabras y a dar formato a los subrayados en Markdown para que todo se muestre correctamente después de la publicación.

Benjamin McBrayer // Publicado: 11 de mayo de 20265 min de lectura

Cómo subrayar en Markdown

A diferencia del formato en negrita y cursiva, no existe una sintaxis nativa de subrayado en Markdown integrada en el lenguaje. Markdown fue diseñado para corresponderse estrechamente con HTML, y dado que el texto subrayado se confunde fácilmente con los hipervínculos en la web, los creadores lo dejaron fuera intencionalmente.

Eso no significa que no tengas opciones. Existen varias formas fiables de subrayar en Markdown dependiendo de la plataforma que utilices y del control que tengas sobre el resultado renderizado.

Esta guía repasa todos los métodos para que puedas subrayar texto en Markdown en cualquier situación.

Por qué Markdown no tiene sintaxis de subrayado

Markdown fue creado por John Gruber en 2004 como una forma sencilla de escribir contenido que se convierte limpiamente a HTML. La negrita usa doble asterisco, la cursiva usa un solo asterisco y el tachado usa tildes en algunas variantes. Pero el subrayado fue excluido deliberadamente.

La razón es práctica. En la web, el texto subrayado casi siempre indica un enlace clicable. Si Markdown permitiera el subrayado nativo, los lectores confundirían constantemente las palabras subrayadas con hipervínculos, creando una experiencia confusa. La mayoría de las guías de estilo para contenido web también desaconsejan el subrayado por esta misma razón.

Aun así, hay casos legítimos en los que necesitas subrayar texto en Markdown, como la escritura académica, documentos formales o plataformas donde los enlaces tienen un estilo diferente.

Cómo subrayar en Markdown usando HTML

El método más ampliamente compatible para subrayar texto en Markdown es usar la etiqueta HTML <u> directamente:

Este es un <u>texto subrayado</u> en una oración.

Esto se renderiza como: Este es un texto subrayado en una oración.

Dado que la mayoría de los procesadores de Markdown permiten HTML en línea, este enfoque funciona en GitHub, GitLab, Jupyter Notebooks y muchos generadores de sitios estáticos. Es la respuesta más directa para cualquiera que busque la sintaxis de subrayado en Markdown, aunque técnicamente utiliza HTML en lugar de Markdown puro.

Cuándo la etiqueta <u> podría no funcionar

Algunas plataformas eliminan las etiquetas HTML por razones de seguridad. Discord, Slack y ciertos editores CMS ignorarán o eliminarán las etiquetas <u> por completo. Si trabajas en uno de estos entornos, necesitarás un enfoque diferente.

Usar CSS para subrayar texto en Markdown

Si tienes acceso a estilos personalizados, CSS te ofrece la mayor flexibilidad. Puedes usar una etiqueta <span> con un estilo en línea:

Este es un <span style="text-decoration: underline;">texto subrayado</span> en una oración.

Alternativamente, si controlas la hoja de estilos de tu sitio o documentación, puedes definir una clase personalizada:

.underline {
  text-decoration: underline;
}

Luego úsala en tu Markdown:

Este es un <span class="underline">texto subrayado</span> en una oración.

Este método es ideal para blogs, sitios de documentación y cualquier entorno donde gestiones el CSS. Mantiene tu Markdown más limpio que los estilos en línea y te proporciona un formato consistente en todo el proyecto.

Subrayado en Markdown en plataformas específicas

Diferentes plataformas manejan el formato de subrayado a su manera. Aquí te mostramos cómo abordarlo en los entornos más comunes.

GitHub

GitHub Flavored Markdown admite HTML en línea, por lo que la etiqueta <u> funciona en archivos README, issues, descripciones de pull requests y comentarios. Esto lo convierte en el método de subrayado en Markdown más sencillo para los usuarios de GitHub.

Jupyter Notebooks

Jupyter renderiza las celdas de Markdown con soporte completo de HTML. Tanto la etiqueta <u> como los enfoques basados en CSS funcionan de forma fiable. También puedes usar la etiqueta <ins>, que semánticamente representa texto insertado pero se renderiza con subrayado por defecto:

Este es un <ins>texto subrayado</ins> en un notebook.

Discord y Slack

Ni Discord ni Slack admiten el subrayado en Markdown de forma nativa. Discord usa su propia variación de Markdown, pero no incluye ninguna sintaxis de subrayado. Slack utiliza su propio sistema de formato. En ambos casos, no hay solución alternativa dentro del propio campo de entrada de mensajes.

Obsidian y aplicaciones de notas

Algunas aplicaciones de notas como Obsidian admiten fragmentos de CSS personalizados. Si tu aplicación lo permite, puedes definir una clase de subrayado en tu CSS y referenciarla en tus notas. Consulta la documentación de tu aplicación específica para obtener detalles sobre cómo habilitar estilos personalizados.

Usar la etiqueta <ins> como alternativa

La etiqueta <ins> es un elemento HTML que representa texto que ha sido insertado en un documento. Los navegadores lo renderizan con subrayado por defecto, lo que la convierte en una alternativa semántica a la etiqueta <u>:

La reunión es el <ins>jueves</ins>, no el miércoles.

La diferencia entre <u> e <ins> es principalmente de significado. Usa <u> cuando simplemente quieras un subrayado visual. Usa <ins> cuando quieras indicar que el texto ha sido añadido o modificado, como en un historial de revisiones o ediciones.

Ambas etiquetas producen el mismo resultado visual en la mayoría de los procesadores de Markdown que admiten HTML.

Alternativas cuando HTML no es compatible

Si trabajas en una plataforma que elimina las etiquetas HTML y no tiene soporte para subrayado, tus opciones son limitadas. Estas son algunas soluciones alternativas que la gente utiliza:

Subrayado falso con caracteres Unicode. Puedes usar caracteres combinados Unicode para simular un subrayado, pero esto es poco fiable entre fuentes y plataformas y generalmente no se recomienda.

Usar negrita o cursiva en su lugar. Si el objetivo es simplemente llamar la atención sobre un texto específico, el formato en negrita o cursiva puede cumplir el mismo propósito sin necesidad de subrayar.

Añadir una nota entre paréntesis. En entornos de texto plano, algunos escritores indican énfasis añadiendo una nota como "(énfasis mío)" después del texto relevante.

Ninguna de estas es una verdadera sustitución del subrayado en Markdown, pero pueden ayudar en entornos con restricciones.

Referencia rápida

Aquí tienes un resumen de todos los métodos para subrayar texto en Markdown:

  • <u>texto</u> es el método más sencillo y ampliamente compatible.
  • <ins>texto</ins> es una alternativa semántica que también se renderiza como subrayado.
  • CSS con etiquetas <span> ofrece el mayor control cuando gestionas la hoja de estilos.
  • No existe una sintaxis nativa de subrayado en Markdown, por lo que todos los métodos dependen de HTML o de funciones específicas de cada plataforma.
  • GitHub y Jupyter admiten el subrayado basado en HTML.
  • Discord y Slack no admiten ninguna forma de formato de subrayado.

Reflexiones finales

La falta de una sintaxis de subrayado integrada en Markdown es una decisión de diseño deliberada, no un descuido. Para la mayoría del contenido web, evitar los subrayados mantiene tu texto claro y previene la confusión con los enlaces. Pero cuando necesites subrayar texto en Markdown, la etiqueta <u> es la solución más rápida y portable. Elige el método que se adapte a tu plataforma, ten en cuenta la legibilidad y tus documentos se verán exactamente como esperas.