Salto de línea en Markdown: cómo forzarlo (y por qué falla)
Markdown ignora los saltos de línea simples. Aquí tienes las tres formas de forzar un salto: dos espacios al final, barra invertida o etiqueta br, con sus diferencias y compatibilidad.
Es la primera frustración de casi todo el mundo que empieza con Markdown: pulsas Intro, y el salto de línea desaparece.
No es un error. Es una decisión de diseño heredada de HTML: en ambos lenguajes, un salto de línea simple dentro de un párrafo se trata como un espacio en blanco cualquiera.
El problema
Si escribes esto:
Primera línea
Segunda línea
El resultado no son dos líneas, sino una sola:
Primera línea Segunda línea
Markdown ha unido las dos frases en un mismo párrafo. Para separarlas de verdad tienes dos escenarios distintos, y conviene no confundirlos.
Párrafo nuevo: una línea en blanco
Si lo que quieres es un párrafo nuevo —con su separación vertical completa—, deja una línea en blanco entre ambos bloques. Es decir, pulsa Intro dos veces.
Primer párrafo.
Segundo párrafo.
Resultado:
Primer párrafo.
Segundo párrafo.
Esto genera dos etiquetas <p> independientes. Es lo que quieres el 90 % de las veces.
Ojo: Markdown no admite dobles líneas en blanco. Si dejas tres o cuatro saltos intentando separar más, se colapsan en uno solo al procesarse. Para controlar el espaciado necesitas HTML o CSS.
Salto dentro del mismo párrafo: las tres formas
A veces quieres una línea nueva pero sin abrir un párrafo nuevo: versos de un poema, una dirección postal, una firma. Eso es un <br> en HTML, y en Markdown hay tres maneras de conseguirlo.
1. Dos espacios al final de la línea
Es la forma canónica del Markdown original: termina la línea con dos espacios en blanco y pulsa Intro.
Andando con sus patitas mojadas,··
el gorrión··
por la terraza de madera
(los ·· representan los dos espacios; en tu editor no verás nada)
Resultado:
Andando con sus patitas mojadas,
el gorrión
por la terraza de madera
El gran inconveniente es evidente: es invisible. No puedes ver los espacios, no puedes revisarlos en un diff de Git, y muchos editores están configurados para eliminar automáticamente los espacios finales al guardar. Es la causa número uno de saltos de línea que “funcionaban ayer y hoy no”.
Si usas VS Code y esto te pasa, busca la opción files.trimTrailingWhitespace y desactívala para archivos Markdown.
2. Barra invertida al final
Una alternativa mucho más legible: terminar la línea con una barra invertida \.
Andando con sus patitas mojadas,\
el gorrión\
por la terraza de madera
Ventajas: es visible, sobrevive al recorte de espacios y se ve claramente en cualquier diff. Está en la especificación de CommonMark y funciona en GitHub, Obsidian y la mayoría de procesadores modernos.
Inconveniente: no está en el Markdown original, así que algún procesador antiguo puede mostrarte la barra literal.
3. La etiqueta <br>
Como Markdown admite HTML en línea, siempre puedes escribir la etiqueta directamente:
Andando con sus patitas mojadas,<br>
el gorrión<br>
por la terraza de madera
Es la opción más compatible de las tres y funciona absolutamente en todas partes. A cambio, ensucia el texto plano y rompe un poco la filosofía de Markdown de que el original sea legible sin procesar.
Úsala cuando la compatibilidad importe más que la pureza, o dentro de tablas, donde es la única forma de meter varias líneas en una celda.
Cuál elegir
| Método | Visible | Sobrevive al trim | Compatibilidad |
|---|---|---|---|
| Dos espacios | ❌ | ❌ | Universal |
Barra invertida \ | ✅ | ✅ | CommonMark y posteriores |
<br> | ✅ | ✅ | Universal |
Recomendación práctica: usa la barra invertida en documentos propios y <br> cuando escribas para una plataforma cuyo procesador no controlas.
Un caso aparte: los saltos en GitHub
Hay una excepción que confunde mucho. En los comentarios de issues y pull requests de GitHub, en Discord y en muchos chats, un salto de línea simple sí genera un salto visible, sin necesidad de espacios ni barras.
No es que Markdown haya cambiado: es que esas plataformas activan una opción llamada break on newline, pensada para que escribir en un cuadro de comentarios se comporte como uno espera.
⚠️ Esa opción no se aplica a los archivos .md del propio repositorio. Un README.md sigue las reglas normales. Es exactamente por eso que mucha gente ve su texto perfecto en el comentario de un issue y descolocado al pegarlo en el README.
Errores frecuentes
El editor te borra los espacios. Ya comentado: desactiva el recorte automático o pásate a la barra invertida.
Espacios de más en medio del texto. Escribir tres o cuatro espacios entre dos palabras no hace nada: se colapsan en uno. Los dos espacios solo tienen efecto al final de la línea.
Confundir salto con párrafo. Si el resultado te queda demasiado apretado, probablemente querías una línea en blanco (párrafo) y no un <br>. Y al revés: si te queda demasiado separado, querías un <br>.
Intentar separar más con líneas en blanco extra. No funciona. Si necesitas espacio vertical adicional, usa <br> repetido o una línea horizontal como separador.
Pruébalo
La forma más rápida de salir de dudas es pegar el texto en el previsualizador de Markdown y ver el resultado al momento. Si quieres comprobar qué etiquetas se generan exactamente, convierte el documento con el conversor a HTML y busca los <br> y los <p>.