Guías
Mermaid: diagramas de flujo como código
Mermaid es una herramienta de código abierto que dibuja diagramas a partir de texto. Un diagrama de flujo se escribe en unas pocas líneas como «A --> B», se guarda junto a la documentación o el código, y herramientas como GitHub, GitLab, Notion u Obsidian lo muestran automáticamente.
Qué es Mermaid
Mermaid es una biblioteca de JavaScript, publicada por primera vez en 2014, que convierte una descripción en texto en un diagrama. Admite diagramas de flujo, de secuencia, de estados, diagramas de Gantt y otros. Un diagrama de flujo mínimo se ve así:
flowchart TD
A([Pedido recibido]) --> B[Comprobar stock]
B --> C{¿Hay stock?}
C -->|Sí| D[Enviar pedido]
C -->|No| E[Avisar al cliente]El motor de renderizado se ocupa de las formas, las posiciones y las flechas. Tú solo describes la estructura.
Por qué escribir diagramas como código
- Control de versiones: el diagrama es texto, así que los cambios aparecen en los diffs y las revisiones de código.
- Sin archivos binarios: no hay que volver a exportar nada cuando cambia el proceso, basta con editar una línea.
- Vive con la documentación: en un README, una página de wiki o un registro de decisiones de arquitectura.
- Se muestra donde ya trabaja el equipo, sin complementos en muchas plataformas.
La contrapartida es el control: la maquetación es automática y no puedes colocar una caja exactamente donde quieras. Para la mayoría de la documentación, es más una ventaja que una limitación.
Dónde se muestra Mermaid
GitHub y GitLab muestran los bloques de código Mermaid en archivos Markdown, issues y pull o merge requests; consulta Mermaid en GitHub y GitLab. Notion y Obsidian también lo admiten de forma nativa, y muchos generadores de documentación ofrecen complementos; consulta Mermaid en Notion, Obsidian y herramientas de documentación.
Mermaid frente a las herramientas de dibujo
Las herramientas de dibujo y las pizarras son mejores para bocetos libres, pósteres de arquitectura y todo aquello en lo que la posición tiene significado. Mermaid es mejor para diagramas con estructura (pasos, decisiones, responsables), mantenidos por varias personas y que deben estar sincronizados con un texto. Regla práctica: si el diagrama se actualizará más de una vez y su maquetación no tiene que ser perfecta al píxel, escríbelo como código.
Aprender la sintaxis
Los diagramas de flujo solo necesitan unos pocos elementos: una dirección, nodos con su forma y flechas con una etiqueta opcional. La chuleta de sintaxis de Mermaid los recoge, y subgrafos y estilos explica cómo agrupar los pasos por responsable y resaltar partes del diagrama.
De una descripción a Mermaid
Escribir Mermaid a mano es rápido para diagramas pequeños y tedioso para los grandes. Otra opción es describir el proceso en lenguaje natural, dejar que un generador de diagramas de flujo con IA construya el diagrama y exportarlo a Mermaid. Flowchartio exporta un archivo flowchart TD en el que cada responsable se convierte en un subgrafo, listo para pegar en un README.
¿Mermaid o imagen?
Mermaid encaja con documentación que cambia y vive en herramientas de texto. Las presentaciones, los PDF y los correos siguen necesitando imágenes. La comparación de PNG, SVG y Mermaid te ayuda a elegir. Para documentación de software en general, incluidas las integraciones de API, consulta diagramas de flujo para API y software.
En esta guía
Cada artículo profundiza en una parte del tema.
- Chuleta de sintaxis de Mermaid para diagramas de flujoUn diagrama de flujo en Mermaid empieza con «flowchart» y una dirección (TD, LR…), declara nodos con un identificador y una forma, como A[Paso] o B{¿Pregunta?}, y los conecta con flechas como A --> B o B -->|Sí| C.
- Diagramas Mermaid en GitHub y GitLabEn GitHub y GitLab, pon el diagrama en un bloque de código cuyo lenguaje sea «mermaid». La plataforma lo muestra como diagrama en archivos Markdown, issues, pull o merge requests y wikis, sin subir ninguna imagen.
- PNG, SVG o Mermaid: qué formato exportarExporta a PNG cuando el diagrama vaya a una presentación, un correo o una herramienta que solo acepte imágenes; a SVG cuando deba verse nítido a cualquier tamaño o editarse en una herramienta de diseño; y a Mermaid cuando viva en una wiki o un repositorio y vaya a cambiar.
- Mermaid en Notion, Obsidian y herramientas de documentaciónNotion y Obsidian muestran Mermaid de forma nativa a partir de un bloque de código configurado como Mermaid. Generadores de documentación como Docusaurus y MkDocs lo admiten mediante un complemento oficial o una extensión, mientras que Confluence suele necesitar una aplicación del marketplace.
- Subgrafos y estilos en MermaidUsa «subgraph id [Título] … end» para agrupar nodos, por ejemplo un grupo por equipo para imitar carriles. Usa classDef y class (o el atajo :::) para dar estilo a grupos de nodos, y style para un nodo concreto.
Convierte tu proceso en un diagrama de flujo
Descríbelo en unas frases. Flowchartio dibuja el diagrama y luego lo ajustas conversando.
Generar un diagrama