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.

Casillas de verificación en Markdown: listas de tareas

Cómo crear listas de tareas con casillas marcables en Markdown usando corchetes. Sintaxis de GitHub Flavored Markdown, anidado, y en qué plataformas son interactivas.

Las listas de tareas —o checklists— son listas normales en las que cada elemento lleva una casilla que se puede marcar. No están en el Markdown original: llegaron con GitHub Flavored Markdown y hoy las admiten casi todos los procesadores modernos.

Sintaxis

Una lista desordenada donde cada elemento empieza con corchetes: [ ] para pendiente y [x] para completado.

- [x] Escribir el borrador
- [x] Revisar la ortografía
- [ ] Publicar
- [ ] Compartir en redes

Resultado:

  • Escribir el borrador
  • Revisar la ortografía
  • Publicar
  • Compartir en redes

Tres detalles que hay que respetar:

  1. El espacio dentro de los corchetes vacíos es obligatorio. [ ] con espacio, no [].
  2. Hay un espacio entre el corchete de cierre y el texto. - [ ] Tarea, no - [ ]Tarea.
  3. Solo funciona sobre listas desordenadas. Con 1. en lugar de -, la mayoría de procesadores no lo reconocen.

La x puede ir en mayúscula o minúscula: [x] y [X] valen igual.

Casillas interactivas

En algunas plataformas las casillas se pueden pulsar directamente en la vista renderizada, sin editar el texto. Al marcarlas, la plataforma modifica el documento por debajo cambiando [ ] por [x].

Plataforma¿Interactivas?
GitHub (issues y PRs)✅ Sí
GitHub (archivos .md del repo)❌ Solo visual
GitLab (issues)✅ Sí
Obsidian✅ Sí
Notion✅ Sí
VS Code (vista previa)❌ Solo visual
Reddit / Discord❌ No admite

Es una distinción que confunde: en un issue de GitHub puedes marcar casillas con el ratón; en el README.md del mismo repositorio, las mismas casillas se ven pero no responden. Tiene sentido —un archivo del repositorio solo cambia con un commit—, pero pilla desprevenido.

En los issues y pull requests, GitHub además cuenta las tareas y muestra un indicador de progreso del tipo “3 de 5”. Es lo que convierte una lista de tareas en una herramienta de seguimiento de verdad.

Anidar tareas

Se anidan igual que cualquier lista, con cuatro espacios por nivel:

- [ ] Preparar el lanzamiento
    - [x] Escribir la nota de prensa
    - [x] Preparar las capturas
    - [ ] Grabar el vídeo de demostración
- [ ] Publicar
  • Preparar el lanzamiento
    • Escribir la nota de prensa
    • Preparar las capturas
    • Grabar el vídeo de demostración
  • Publicar

⚠️ Marcar todas las subtareas no marca la tarea padre automáticamente. En GitHub el contador de progreso tampoco tiene en cuenta la jerarquía: cuenta todas las casillas por igual.

Formato dentro de la tarea

Dentro del texto de cada tarea funciona el resto de sintaxis en línea:

- [ ] Revisar el archivo `config.yml`
- [ ] Leer la [documentación de la API](https://ejemplo.com)
- [x] ~~Arreglar el error de login~~ resuelto en #142
- [ ] **Urgente:** desplegar antes del viernes
  • Revisar el archivo config.yml
  • Leer la documentación de la API
  • Arreglar el error de login resuelto en #142
  • Urgente: desplegar antes del viernes

Combinar el tachado con la casilla marcada es un patrón muy habitual: refuerza visualmente que algo está cerrado.

Estados personalizados en Obsidian

Obsidian admite caracteres arbitrarios dentro de los corchetes para representar más estados que “hecho” y “pendiente”:

- [ ] Pendiente
- [x] Completado
- [/] En progreso
- [-] Cancelado
- [?] En duda

Con el tema adecuado, cada uno se pinta con un icono distinto. Es específico de Obsidian: en GitHub, cualquier cosa que no sea [ ] o [x] se muestra como texto literal entre corchetes.

Errores frecuentes

Faltan los espacios. -[x]Tarea no funciona. Tiene que ser - [x] Tarea, con espacio después del guion, dentro de los corchetes vacíos y después del corchete de cierre.

Usar lista ordenada. 1. [ ] Tarea no se reconoce en la mayoría de procesadores.

Esperar interactividad donde no la hay. En un archivo del repositorio las casillas son solo visuales. Si necesitas marcarlas con el ratón, muévelas a un issue.

Sangría de dos espacios. Como en las listas normales, con dos espacios el anidado es inconsistente entre procesadores. Usa cuatro.

Compatibilidad

ProcesadorCasillas
GitHub / GitLab
Obsidian
Notion
VS Code
Typora
Markdown original
CommonMark
Discord

Ojo con el detalle: las casillas no están en CommonMark, solo en GFM y en las extensiones que lo han adoptado. En un procesador que no las admita, verás literalmente - [ ] Tarea con los corchetes a la vista. Degrada de forma razonablemente legible, pero no es bonito.

Pruébalo

Comprueba que tus casillas se procesan bien —y sobre todo que la sangría de las subtareas es correcta— en el previsualizador de Markdown.