Guía completa de diagramas Mermaid

Aprende a crear diagramas profesionales con una sintaxis sencilla basada en texto

Publicidad

¿Qué es Mermaid?

Mermaid es una herramienta de diagramación y gráficos basada en JavaScript que utiliza definiciones de texto inspiradas en Markdown para crear y modificar diagramas dinámicamente. Es un proyecto de código abierto que permite generar diagramas a partir de descripciones de texto simples.

En lugar de usar herramientas de dibujo complejas, escribes una sintaxis similar a código que describe tu diagrama, y Mermaid lo renderiza como un diagrama visual. Este enfoque hace que los diagramas sean versionables, fáciles de actualizar y perfectos para la documentación.

Mermaid se integra perfectamente con plataformas de documentación, wikis y archivos Markdown, lo que la convierte en una herramienta favorita entre desarrolladores y redactores técnicos.

¿Por qué usar Mermaid?

  • Control de versiones: los diagramas son archivos de texto, por lo que se pueden rastrear en Git junto con tu código
  • Actualizaciones rápidas: cambia unas pocas líneas de texto en lugar de redibujar diagramas completos
  • Consistencia: Mermaid maneja automáticamente el diseño y el estilo, garantizando diagramas consistentes
  • Sin herramientas de diseño: no necesitas Visio, Lucidchart ni otras herramientas costosas
  • Documentación como código: mantén los diagramas en el mismo repositorio que tu documentación
  • Multiplataforma: funciona en navegadores y Node.js, e integra con muchas plataformas
  • Gratis y de código abierto: sin costos de licencia, comunidad activa
  • Múltiples tipos de diagramas: admite diagramas de flujo, de secuencia, de clases y más
Publicidad

Tipos de diagramas compatibles

Mermaid admite una amplia variedad de tipos de diagramas para cubrir distintas necesidades de documentación:

Diagrama de flujo

Visualiza flujos de trabajo, procesos y árboles de decisión con nodos y aristas.

flowchart TD
    A[Start] --> B{Decision}
    B -->|Yes| C[Process]
    B -->|No| D[Alternative]
    C --> E[End]
    D --> E

Caso de uso: Flujos de procesos, algoritmos, lógica de decisiones

Diagrama de secuencia

Muestra interacciones entre distintos actores o sistemas a lo largo del tiempo.

sequenceDiagram
    participant User
    participant API
    participant DB
    User->>API: Request data
    API->>DB: Query
    DB-->>API: Results
    API-->>User: Response

Caso de uso: Interacciones de API, comunicación de sistemas, flujos de usuarios

Diagrama de clases

Modela sistemas orientados a objetos con clases, atributos y relaciones.

classDiagram
    class Animal {
        +String name
        +int age
        +makeSound()
    }
    class Dog {
        +bark()
    }
    Animal <|-- Dog

Caso de uso: Arquitectura de software, diseño OOP, esquemas de base de datos

Diagrama de estados

Representa estados y transiciones en un sistema o proceso.

stateDiagram-v2
    [*] --> Idle
    Idle --> Loading: Start
    Loading --> Success: Complete
    Loading --> Error: Fail
    Success --> [*]
    Error --> Idle: Retry

Caso de uso: Máquinas de estado, gestión del ciclo de vida, estados de UI

Diagrama entidad‑relación

Modela estructuras de bases de datos y relaciones entre entidades.

erDiagram
    CUSTOMER ||--o{ ORDER : places
    ORDER ||--|{ LINE_ITEM : contains
    CUSTOMER {
        int id
        string name
        string email
    }

Caso de uso: Diseño de bases de datos, modelado de datos, arquitectura de sistemas

Diagrama de Gantt

Planifica y visualiza cronogramas y líneas de tiempo de proyectos.

gantt
    title Project Timeline
    dateFormat YYYY-MM-DD
    section Phase 1
    Design :a1, 2024-01-01, 30d
    Development :a2, after a1, 45d

Caso de uso: Planificación de proyectos, cronogramas de sprint, roadmaps

Gráfico circular

Muestra datos proporcionales y porcentajes de forma visual.

pie title Distribution
    "Category A" : 42
    "Category B" : 30
    "Category C" : 28

Caso de uso: Resultados de encuestas, cuota de mercado, asignación de recursos

Gráfico de Git

Visualiza estrategias de ramificación de Git y el historial de commits.

gitGraph
    commit
    branch develop
    checkout develop
    commit
    checkout main
    merge develop

Caso de uso: Documentación de flujos de trabajo de Git, estrategias de branching

Publicidad

Primeros pasos con Mermaid

1

Elige tu tipo de diagrama

Empieza decidiendo qué tipo de diagrama representa mejor lo que quieres mostrar. Cada tipo comienza con una palabra clave específica como 'flowchart', 'sequenceDiagram' o 'classDiagram'.

2

Escribe la sintaxis de texto

Usa la sintaxis sencilla de Mermaid para describir tu diagrama. La sintaxis es intuitiva y se lee casi como lenguaje natural. Por ejemplo, 'A --> B' crea una flecha de A a B.

3

Previsualiza tu diagrama

Usa nuestro visor en línea o cualquier herramienta compatible con Mermaid para ver tu diagrama renderizado en tiempo real. Ajusta lo necesario hasta quedar satisfecho.

4

Exporta y comparte

Exporta tu diagrama como SVG o PNG para presentaciones, o comparte una URL con tu equipo. También puedes incrustar Mermaid directamente en archivos Markdown.

Buenas prácticas

  • Mantén los diagramas centrados en un solo concepto o flujo de trabajo
  • Usa etiquetas significativas que describan la lógica de negocio real
  • Divide diagramas complejos en diagramas más pequeños e interconectados
  • Añade comentarios con %% para explicar secciones complejas
  • Utiliza convenciones de nombres consistentes en tus diagramas
  • Prueba tus diagramas en el entorno objetivo antes de finalizarlos
  • Incluye indicaciones de dirección (TD, LR) para controlar el diseño cuando sea necesario
  • Usa subgraphs para agrupar nodos relacionados en diagramas de flujo
  • Aprovecha las opciones de estilo con moderación para mantener la legibilidad
  • Controla versiones de los archivos fuente de tus diagramas junto con tu código

Casos de uso comunes

Documentación de software

Documenta arquitectura de sistemas, flujos de API e interacciones de componentes junto con tu código.

Planificación de proyectos

Crea diagramas de Gantt para planificación de sprints, cronogramas de proyectos y asignación de recursos.

Propuestas técnicas

Visualiza soluciones propuestas, diseños de sistemas y decisiones de arquitectura.

Recorridos de usuario

Mapea flujos de usuario, experiencias de cliente y patrones de interacción.

Diseño de bases de datos

Modela relaciones entre entidades, estructuras de esquema y dependencias de datos.

Documentación de procesos

Documenta procesos de negocio, flujos de trabajo y procedimientos operativos estándar.

Materiales educativos

Crea diagramas claros y versionados para tutoriales y cursos técnicos.

Documentación de API

Ilustra flujos de solicitud/respuesta, secuencias de autenticación e interacciones de endpoints.

Recursos adicionales

Preguntas frecuentes

Preguntas comunes sobre el uso de Mermaid Viewer y la creación de diagramas

¿Este editor de Mermaid es realmente gratis?
Sí, totalmente gratis. Puedes crear diagramas ilimitados, exportar a SVG/PNG, compartir por URL y usar todas las funciones sin registro ni pago. La herramienta se financia con publicidad no intrusiva.
¿Necesito instalar algo?
No necesitas instalar nada. Es una herramienta web que funciona por completo en tu navegador. Solo abre el sitio y empieza a crear en escritorio, tablet o móvil.
¿Cómo guardo mis diagramas?
Puedes guardar tu trabajo de varias formas: 1) exportar como SVG o PNG, 2) compartir por URL (el código va codificado en la URL), 3) copiar el código Mermaid a tus archivos, 4) subir y descargar archivos .mmd o .mermaid.
¿Puedo usar los diagramas en documentación?
Sí, claro. Exporta tus diagramas como SVG (escalable) o PNG y úsalos en documentación, presentaciones o sitios web. También puedes incrustar el código Mermaid en plataformas como GitHub, GitLab o Notion.
¿Cuál es la diferencia entre SVG y PNG?
SVG es vectorial, mantiene calidad a cualquier tamaño y es ideal para documentación y web. PNG es rasterizado, útil para compartir rápido, pero pierde calidad al redimensionar.
¿Por qué mi diagrama no se renderiza?
Revisa errores de sintaxis en tu código Mermaid. Los fallos comunes incluyen comillas sin cerrar, dos puntos o punto y coma faltantes, IDs de nodos incorrectos o sintaxis no compatible. Simplifica el diagrama para ubicar el problema.
¿Puedo colaborar con otras personas?
No hay colaboración en tiempo real integrada, pero puedes compartir diagramas por URL. Otras personas pueden abrir, editar y volver a compartir su versión. Al ser texto, Mermaid también encaja muy bien con Git.
¿Funciona también sin conexión?
La primera carga requiere conexión a Internet. Después, la edición básica suele funcionar sin conexión. Algunas funciones, como la exportación, pueden requerir conectividad.
¿Cómo aprendo la sintaxis de Mermaid?
Empieza con nuestra guía completa de Mermaid con ejemplos de todos los tipos de diagramas. Usa la sección de plantillas para avanzar más rápido y complementa con la documentación oficial en mermaid.js.org.
¿Puedo personalizar la apariencia?
Sí. Los diagramas siguen el tema del sitio: cambia entre claro y oscuro con el botón Tema de la barra superior y el diagrama se vuelve a renderizar con el tema de Mermaid correspondiente. Para personalización avanzada, usa la directiva %%{init:...}%% para definir colores, tipografías y otras propiedades visuales.
¿Qué tipos de diagramas se admiten?
Este editor admite los tipos principales de Mermaid: flowcharts, diagramas de secuencia, de clases, de estados, ER, Gantt, gráficos de pastel, grafos Git, user journeys y más.
¿Mis datos de diagramas son privados?
Tu código de diagrama no se envía a nuestros servidores. Todo se renderiza en tu navegador. Al compartir por URL, el código viaja codificado en la URL; no almacenamos ni rastreamos tu contenido.
¿Por qué usar diagramas basados en texto?
Los diagramas basados en texto tienen ventajas claras: control de versiones (ideal para Git), actualización rápida, estilo consistente, búsqueda sencilla y poco peso. Además, son más fáciles de revisar en pull requests.
¿Puedo incrustar Mermaid en mi sitio web?
Sí. Incluye la librería JavaScript de Mermaid en tu web y añade bloques de código Mermaid. Muchas plataformas ya lo soportan de forma nativa, como GitHub, GitLab, Notion y Obsidian.
¿Cuál es el tamaño máximo recomendado?
No hay un límite estricto, pero los diagramas muy grandes (más de ~100 nodos) pueden renderizar más lento según tu dispositivo. Para sistemas complejos, conviene dividir en varios diagramas más pequeños.

¿Listo para crear tu primer diagrama?

Prueba nuestro visor gratuito de Mermaid en línea y empieza a crear diagramas profesionales en minutos.

Abrir el visor de Mermaid