Guía Completa de Markdown: Domina el Lenguaje de Marcado Ligero
- Fabrizio Piminchumo
- Technology , Software
- 15 Dec, 2025
¿Qué es Markdown?
Markdown es un lenguaje de marcado ligero creado por John Gruber en 2004. Está diseñado para ser fácil de leer y escribir, utilizando una sintaxis de texto plano que se puede convertir fácilmente a HTML y otros formatos.
Markdown se ha convertido en el estándar de facto para escribir documentación técnica, READMEs en GitHub, mensajes en foros, blogs, y muchas otras aplicaciones donde necesitas formatear texto sin la complejidad de HTML.
Ventajas de Markdown
- Legibilidad: El texto en Markdown es fácil de leer incluso sin renderizar
- Simplicidad: Sintaxis intuitiva y fácil de aprender
- Portabilidad: Funciona en múltiples plataformas (GitHub, GitLab, Reddit, Stack Overflow, etc.)
- Versatilidad: Se puede convertir a HTML, PDF, Word y otros formatos
- Compatibilidad: Soportado por la mayoría de editores de texto y IDEs
Fundamentos de Markdown
Encabezados (Headings)
Los encabezados definen la jerarquía de tu documento. Markdown soporta 6 niveles de encabezados usando el símbolo #.
Sintaxis
# Encabezado 1 (H1)
## Encabezado 2 (H2)
### Encabezado 3 (H3)
#### Encabezado 4 (H4)
##### Encabezado 5 (H5)
###### Encabezado 6 (H6)
Ejemplo Visual
Encabezado 1 (H1)
Encabezado 2 (H2)
Encabezado 3 (H3)
Encabezado 4 (H4)
Encabezado 5 (H5)
Encabezado 6 (H6)
Nota: También puedes usar encabezados alternativos con
===para H1 y---para H2, aunque esta sintaxis es menos común.
Párrafos
Los párrafos en Markdown se crean simplemente separando bloques de texto con líneas en blanco.
Sintaxis
Este es un párrafo de texto. Puedes escribir
múltiples líneas, pero se renderizarán como
un solo párrafo.
Este es otro párrafo. Debe estar separado
por una línea en blanco.
Ejemplo Visual
Este es un párrafo de texto. Puedes escribir múltiples líneas, pero se renderizarán como un solo párrafo.
Este es otro párrafo. Debe estar separado por una línea en blanco.
Formato de Texto
Markdown ofrece varias opciones para enfatizar texto.
Sintaxis
**texto en negrita** o __texto en negrita__
*texto en cursiva* o _texto en cursiva_
***texto en negrita y cursiva*** o ___texto en negrita y cursiva___
~~texto tachado~~
`texto en línea de código`
Ejemplo Visual
texto en negrita o texto en negrita
texto en cursiva o texto en cursiva
texto en negrita y cursiva
texto tachado
texto en línea de código
Tip: Para escapar caracteres especiales de Markdown, usa la barra invertida
\. Por ejemplo:\*texto sin cursiva\*se mostrará como*texto sin cursiva*.
Listas
Markdown soporta dos tipos principales de listas: ordenadas y no ordenadas.
Listas No Ordenadas
Sintaxis
- Elemento de lista
- Otro elemento
- Un elemento más
O usando asteriscos:
* Primer elemento
* Segundo elemento
O usando signos más:
+ Elemento uno
+ Elemento dos
Ejemplo Visual
- Elemento de lista
- Otro elemento
- Un elemento más
Listas Ordenadas
Sintaxis
1. Primer elemento
2. Segundo elemento
3. Tercer elemento
Ejemplo Visual
- Primer elemento
- Segundo elemento
- Tercer elemento
Nota: Markdown es inteligente con las listas ordenadas. Puedes usar cualquier número y se numerarán secuencialmente. Por ejemplo, usar
1.para todos los elementos funcionará correctamente.
Listas Anidadas
Puedes crear listas dentro de otras listas usando indentación (espacios o tabs).
Sintaxis
1. Elemento principal
- Subelemento uno
- Subelemento dos
2. Otro elemento principal
- Subelemento
1. Sub-subelemento
2. Otro sub-subelemento
3. Tercer elemento
Ejemplo Visual
- Elemento principal
- Subelemento uno
- Subelemento dos
- Otro elemento principal
- Subelemento
- Sub-subelemento
- Otro sub-subelemento
- Subelemento
- Tercer elemento
Listas de Tareas (Task Lists)
Las listas de tareas permiten crear checkboxes interactivos.
Sintaxis
- [x] Tarea completada
- [ ] Tarea pendiente
- [x] Otra tarea completada
Ejemplo Visual
- Tarea completada
- Tarea pendiente
- Otra tarea completada
Enlaces
Markdown ofrece varias formas de crear enlaces.
Enlaces Inline
Sintaxis
[Texto del enlace](https://ejemplo.com)
[Texto del enlace](https://ejemplo.com "Título opcional")
Ejemplo Visual
Visita GitHub
GitHub con título
Enlaces con Referencia
Los enlaces de referencia permiten reutilizar URLs y mantener tu documento más limpio.
Sintaxis
[Texto del enlace][referencia]
[Otro enlace][otra-referencia]
[referencia]: https://ejemplo.com
[otra-referencia]: https://otro-ejemplo.com "Título opcional"
Ejemplo Visual
Enlaces Automáticos
Markdown convierte automáticamente URLs y emails en enlaces clicables.
Sintaxis
https://www.ejemplo.com
correo@ejemplo.com
Ejemplo Visual
https://www.ejemplo.com
correo@ejemplo.com
Imágenes
Las imágenes en Markdown siguen una sintaxis similar a los enlaces, pero con un ! al principio.
Sintaxis Básica


Imágenes con Referencia
![Texto alternativo][imagen-ref]
[imagen-ref]: ruta/a/la/imagen.jpg "Título opcional"
Imágenes como Enlaces
Puedes combinar imágenes y enlaces para crear imágenes clicables.
Sintaxis
[](https://enlace.com)
Nota: En este documento, las imágenes están comentadas para evitar errores, pero la sintaxis mostrada es correcta.
Citas o Blockquotes
Las citas se usan para resaltar texto citado o para crear llamados de atención.
Cita Simple
Sintaxis
> Esta es una cita.
> Puede abarcar múltiples líneas.
> Cada línea debe comenzar con `>`.
Ejemplo Visual
Esta es una cita. Puede abarcar múltiples líneas. Cada línea debe comenzar con
>.
Cita con Múltiples Párrafos
Sintaxis
> Primer párrafo de la cita.
>
> Segundo párrafo de la cita.
Ejemplo Visual
Primer párrafo de la cita.
Segundo párrafo de la cita.
Citas Anidadas
Sintaxis
> Cita principal
>> Cita anidada
>>> Cita más anidada
Ejemplo Visual
Cita principal
Cita anidada
Cita más anidada
Citas con Otros Elementos
Puedes combinar citas con otros elementos de Markdown.
Sintaxis
> ## Encabezado en cita
>
> - Lista en cita
> - Otro elemento
>
> `Código en cita`
Ejemplo Visual
Encabezado en cita
- Lista en cita
- Otro elemento
Código en cita
Cita con Atribución
Sintaxis
> No cometas el error de pensar que tienes que estar de acuerdo con la gente y sus argumentos para comprenderlos.
>
> — <cite>Chinua Achebe</cite>
Ejemplo Visual
No cometas el error de pensar que tienes que estar de acuerdo con la gente y sus argumentos para comprenderlos.
— Chinua Achebe
Código
Markdown ofrece dos formas de mostrar código: inline y en bloques.
Código Inline
Para código corto dentro de un párrafo.
Sintaxis
Usa `console.log()` para imprimir en la consola.
Ejemplo Visual
Usa console.log() para imprimir en la consola.
Tip: Para incluir un backtick dentro de código inline, usa múltiples backticks:
`código con `backtick` dentro`
Bloques de Código
Para código de múltiples líneas o bloques de código.
Sintaxis Básica
```
código sin resaltado
```
Ejemplo Visual
código sin resaltado
Bloques de Código con Resaltado de Sintaxis
Para resaltar la sintaxis de código según el lenguaje de programación.
Sintaxis
```javascript
function saludar(nombre) {
console.log(`Hola, ${nombre}!`);
}
```
Ejemplo Visual
function saludar(nombre) {
console.log(`Hola, ${nombre}!`);
}
Lenguajes Soportados
Algunos lenguajes comunes para resaltado de sintaxis:
bashosh- Scripts de shelljavascriptojs- JavaScripttypescriptots- TypeScriptpythonopy- Pythonhtml- HTMLcss- CSSjson- JSONxml- XMLmarkdownomd- Markdownsql- SQLjava- Javaphp- PHPruby- Rubygo- Gorust- Rustyamloyml- YAML
Ejemplo con Múltiples Lenguajes
HTML:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Mi Página</title>
</head>
<body>
<h1>Hola Mundo</h1>
</body>
</html>
JavaScript:
// Función arrow moderna
const multiplicar = (a, b) => a * b;
// Uso de async/await
async function obtenerDatos() {
try {
const respuesta = await fetch('/api/datos');
const datos = await respuesta.json();
return datos;
} catch (error) {
console.error('Error:', error);
}
}
Python:
def factorial(n):
"""Calcula el factorial de n"""
if n == 0 or n == 1:
return 1
return n * factorial(n - 1)
# Lista por comprensión
numeros_pares = [x for x in range(10) if x % 2 == 0]
Tablas
Las tablas permiten organizar información de forma estructurada.
Sintaxis Básica
| Columna 1 | Columna 2 | Columna 3 |
|-----------|-----------|-----------|
| Fila 1 | Dato | Valor |
| Fila 2 | Dato | Valor |
Ejemplo Visual
| Columna 1 | Columna 2 | Columna 3 |
|---|---|---|
| Fila 1 | Dato | Valor |
| Fila 2 | Dato | Valor |
Alineación de Columnas
Puedes alinear el contenido de las columnas.
Sintaxis
| Alineado a la izquierda | Centrado | Alineado a la derecha |
|:------------------------|:--------:|----------------------:|
| Izquierda | Centro | Derecha |
| Más texto | Centro | Números |
Ejemplo Visual
| Alineado a la izquierda | Centrado | Alineado a la derecha |
|---|---|---|
| Izquierda | Centro | Derecha |
| Más texto | Centro | Números |
Tabla con Formato
Puedes usar formato de texto dentro de las celdas.
Ejemplo
| Función | Sintaxis | Descripción |
|---|---|---|
| Negrita | **texto** | Hace el texto negrita |
| Cursiva | *texto* | Hace el texto cursiva |
Código | `código` | Muestra código inline |
| Enlace | [texto](url) | Crea un enlace |
Tip: Para incluir un pipe
|dentro de una celda, escápalo con una barra invertida:\|
Líneas Horizontales (Separadores)
Las líneas horizontales crean separadores visuales en tu documento.
Sintaxis
---
***
___
Ejemplo Visual
Todas las variaciones anteriores (---, ***, ___) producen el mismo resultado: una línea horizontal.
Nota: Al menos se requieren tres caracteres para crear una línea horizontal.
Elementos HTML
Markdown permite usar HTML directamente para elementos que no tiene soporte nativo.
Abreviaciones
Sintaxis
<abbr title="HyperText Markup Language">HTML</abbr> es un lenguaje de marcado.
Ejemplo Visual
HTML es un lenguaje de marcado.
Subíndices y Superíndices
Sintaxis
H<sub>2</sub>O es agua.
E = mc<sup>2</sup> es la fórmula de Einstein.
Ejemplo Visual
H2O es agua.
E = mc2 es la fórmula de Einstein.
Texto Resaltado (Mark)
Sintaxis
Este es un <mark>texto resaltado</mark> importante.
Ejemplo Visual
Este es un texto resaltado importante.
Teclas (Keyboard Keys)
Sintaxis
Presiona <kbd>Ctrl</kbd> + <kbd>C</kbd> para copiar.
Presiona <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> para abrir la paleta de comandos.
Ejemplo Visual
Presiona Ctrl + C para copiar.
Presiona Ctrl + Shift + P para abrir la paleta de comandos.
Detalles Desplegables (Details)
Algunos procesadores de Markdown soportan elementos HTML como <details>.
Sintaxis
<details>
<summary>Haz clic para expandir</summary>
Contenido oculto que se muestra al expandir.
- Puedes incluir listas
- Y otros elementos de Markdown
</details>
Notas al Pie (Footnotes)
Las notas al pie permiten agregar referencias al final del documento.
Sintaxis
Este es un texto con una nota al pie[^1].
[^1]: Esta es la definición de la nota al pie.
Ejemplo Visual
Este es un texto con una nota al pie1.
Múltiples Notas
Primera referencia[^nota1] y segunda referencia[^nota2].
[^nota1]: Primera nota al pie.
[^nota2]: Segunda nota al pie.
Saltos de Línea
Para forzar un salto de línea sin crear un nuevo párrafo.
Sintaxis
Primera línea
Segunda línea (usa dos espacios al final de la primera línea)
O usando HTML:
Primera línea<br>
Segunda línea
Ejemplo Visual
Primera línea
Segunda línea (usa dos espacios al final de la primera línea)
Extensiones de Markdown
Muchas plataformas extienden Markdown con características adicionales. Algunas comunes:
Emojis
GitHub y muchas plataformas soportan emojis usando :nombre::
:smile: :heart: :rocket: :thumbsup:
:smile: :heart: :rocket: :thumbsup:
Diagramas
Algunas plataformas soportan diagramas Mermaid:
```mermaid
graph TD
A[Inicio] --> B{Decisión}
B -->|Sí| C[Acción 1]
B -->|No| D[Acción 2]
```
Matemáticas (LaTeX)
Plataformas como GitHub soportan fórmulas matemáticas:
$$E = mc^2$$
Inline: $x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}$
Mejores Prácticas
Organización
- Usa encabezados para estructurar tu documento jerárquicamente
- Mantén los encabezados en orden (no saltes niveles)
- Usa listas para información estructurada
- Divide contenido largo en secciones
Legibilidad
- Deja líneas en blanco entre secciones
- Usa indentación consistente (espacios o tabs, pero no ambos)
- Limita el ancho de las líneas a 80-100 caracteres cuando sea posible
- Usa bloques de código para comandos y código
Enlaces e Imágenes
- Usa texto descriptivo en enlaces, evita “click aquí”
- Proporciona siempre texto alternativo para imágenes
- Considera usar enlaces de referencia para URLs largas
Código
- Especifica el lenguaje en bloques de código para resaltado de sintaxis
- Mantén los bloques de código enfocados y concisos
- Comenta código complejo cuando sea necesario
- Usa código inline solo para elementos pequeños
Tablas
- Alinea columnas según el tipo de contenido
- Usa encabezados descriptivos
- Mantén tablas simples y legibles
- Considera dividir tablas grandes
Casos de Uso Comunes
README para Proyectos
# Nombre del Proyecto
Breve descripción del proyecto.
## 🚀 Características
- Característica 1
- Característica 2
- Característica 3
## 📦 Instalación
```bash
npm install
```
## 🎯 Uso
```javascript
const ejemplo = new Ejemplo();
ejemplo.método();
```
## 📝 Licencia
MIT
Documentación de API
## Endpoint: GET /api/usuarios
Obtiene una lista de usuarios.
### Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|:----------|:-------|:----------|:-----------------|
| page | number | No | Número de página |
| limit | number | No | Límite de resultados |
### Respuesta
```json
{
"usuarios": [...],
"total": 100,
"page": 1
}
```
Guías y Tutoriales
# Cómo hacer X
Este tutorial te enseñará cómo hacer X paso a paso.
## Requisitos Previos
- Requisito 1
- Requisito 2
## Paso 1: Configuración Inicial
Descripción del primer paso...
```bash
comando de ejemplo
```
## Paso 2: Implementación
Continuación del tutorial...
Herramientas y Editores
Editores Recomendados
- Visual Studio Code - Con extensiones de Markdown
- Typora - Editor WYSIWYG para Markdown
- Mark Text - Editor de Markdown moderno
- Obsidian - Para notas y documentación
- Notion - Editor web con soporte Markdown
Extensiones Útiles para VS Code
- Markdown All in One
- Markdown Preview Enhanced
- markdownlint
Conversores
- Pandoc - Convierte Markdown a múltiples formatos
- Marked - Procesador de Markdown rápido
- markdown-it - Parser de Markdown extensible
Conclusión
Markdown es una herramienta poderosa y versátil para formatear texto. Su simplicidad lo hace accesible para todos, mientras que su flexibilidad permite crear documentos complejos y bien estructurados.
Ya sea que estés escribiendo documentación técnica, creando contenido para un blog, o simplemente tomando notas, Markdown puede mejorar significativamente tu productividad y la legibilidad de tu contenido.
Próximos Pasos
- Practica creando documentos en Markdown
- Explora las extensiones específicas de la plataforma que uses (GitHub, GitLab, etc.)
- Experimenta con editores de Markdown para encontrar el que mejor se adapte a ti
- Comparte y colabora en proyectos que usen Markdown
¡Feliz escritura en Markdown! 📝
Footnotes
-
Esta es la definición de la nota al pie. ↩