Generador de diagramas UML
Documenta modelos de objetos como texto. Escribe diagramas de clases Mermaid — campos, métodos, herencia, interfaces y composición — y mírelos renderizarse en vivo. Todo se mantiene en tu dispositivo.
One step per line. Indent two spaces to branch beneath the line above.
Modela el diseño, no los píxeles
Un diagrama de clases captura la forma de tu código: qué clases existen, qué poseen y cómo se relacionan. La notación de Mermaid mapea directamente a conceptos POO — "<|--" para herencia, "<|.." para implementar una interfaz, "*--" para composición y "o--" para agregación — por lo que el diagrama se lee como la discusión de diseño que lo produjo.
Mantenerlo como texto significa que sobrevive refactores: cuando renombres una clase, editas una línea en lugar de redibujar un lienzo.
Excelente para incorporación y RFCs
Coloca un diagrama de clases en una RFC de diseño para mostrar la estructura propuesta, o en la documentación de un repositorio para ayudar a nuevos contribuyentes a encontrar su camino. Los marcadores de visibilidad (+/-) y estereotipos como «interface» comunican intención sin una pared de prosa.
Preguntas frecuentes
¿Cómo creo un diagrama de clases UML a partir de texto?
Comienza con "classDiagram", define cada clase con sus campos y métodos entre llaves, luego agrega relaciones como "Animal <|-- Dog". Se renderiza en vivo y exporta a SVG o PNG.
¿Cómo muestro herencia vs interfaces?
Usa "A <|-- B" cuando B extiende la clase A, y "A <|.. B" cuando B implementa la interfaz A. Marca las interfaces con el estereotipo "<<interface>>" dentro de la clase.
¿Cómo marco miembros públicos y privados?
Prefija un miembro con "+" para público o "-" para privado, por ejemplo "+charge(amount) bool" o "-PaymentMethod method".
¿Mermaid admite otros diagramas UML?
Sí — además de diagramas de clases, renderiza diagramas de secuencia y estado, que juntos cubren la mayoría de las necesidades UML diarias. Esta página se enfoca en diagramas de clases.
¿Se sube algo?
No. El diagrama se genera en tu navegador, por lo que tus nombres de clase y método se mantienen en tu dispositivo.