A powerful, user-friendly platform for generating, analyzing, and visualizing UML diagrams from code or natural language prompts.

π¬ Click the thumbnail above to watch the full demo on YouTube
UML Designer AI is an open-source tool that helps you turn your ideas, code, or requirements into clear, professional UML diagramsβinstantly. Whether youβre a developer, student, project manager, or business analyst, you can:
- Paste code (Python, Java, C#, C++, and more) and get a visual diagram of its structure.
- Describe your system in plain English and see it visualized as a UML diagram.
- Collaborate: Share diagrams with your team, export images, or embed them in docs.
Why UML?
Unified Modeling Language (UML) is the global standard for visualizing software architecture, processes, and relationships. It bridges the gap between technical and non-technical stakeholders.
- Prompt-to-UML: Instantly generate diagrams from code or natural language.
- Multi-language Support: Works with Python, Java, C#, C++, and more.
- Modern Web UI: Clean, intuitive interfaceβno technical skills required.
- RESTful API: Integrate with other tools or automate diagram generation.
- Customizable & Extensible: Modular backend and parser for advanced users.
- Cloud-Ready: Easy deployment to cloud platforms or your own server.
- Collaboration: Export, share, and embed diagrams anywhere.
- Testing Suite: Robust tests for reliability and quality.
- Node.js (v18+ recommended)
- Python (3.9+ recommended)
- npm (v9+)
- (Optional) Docker for containerized deployment
git clone https://github.com/<your-org>/uml.git
cd umlcd backend
npm installcd ../frontend
npm installcd ../python-parser
pip install -r requirements.txtOpen three terminals and run each service:
# 1. Backend (Node.js)
cd backend
npm run dev
# 2. Frontend (Next.js)
cd ../frontend
npm run dev
# 3. Python Parser (Flask)
cd ../python-parser
python app.py- Open your browser to http://localhost:3000
- Paste code or type a description (e.g., "A system with a User, Account, and Transaction")
- Choose your diagram type (Class, Sequence, etc.)
- Click Generate and see your diagram appear!
- Backend: Set environment variables in
backend/.env(seebackend/README.mdfor details) - Frontend: Edit
frontend/utils/config.jsor use environment variables - Python Parser: See
python-parser/README.mdfor advanced options
POST /api/analyzeβ Analyze code and return diagram dataPOST /api/generate-plantumlβ Generate PlantUML from code/promptGET /api/healthβ Health check endpoint
See backend/routes/api.js for full details.
POST /analyzeβ Analyze a GitHub repo or ZIP upload and return schema/metadataPOST /generate-plantumlβ Generate PlantUML from analysis schemaPOST /uml-from-promptβ Generate UML from a natural language promptGET /healthβ Health check endpoint
See python-parser/app.py for all endpoints and request/response formats.
How it works:
flowchart TD
A[User/Client] -->|Request| B(Frontend UI)
B -->|API Call| C(Backend Node.js)
C -->|HTTP| D(Python Parser Flask)
D -->|UML Data| C
C -->|Response| B
B -->|Diagram| A
uml/
Click to expand project structure
uml/
βββ backend/ # Node.js REST API server
β βββ routes/ # API route handlers
β βββ scripts/ # Deployment and utility scripts
β βββ utils/ # Core backend utilities
β βββ __tests__/ # Backend test suite
βββ frontend/ # Next.js web application
β βββ components/ # React components
β βββ pages/ # Next.js pages
β βββ utils/ # Frontend utilities
β βββ __tests__/ # Frontend test suite
βββ python-parser/ # Flask server and code analysis engine
β βββ analyzers/ # Language analyzers
β βββ plantuml/ # PlantUML generation logic
β βββ utils/ # Utility modules (error handling, security, etc.)
β βββ __tests__/ # Python parser tests
β βββ requirements.txt
βββ diagrams/ # Example output diagrams
βββ logs/ # Log files
βββ ... # Project configs, docs, and scripts
UML Designer AI provides a complete visual map of your system, from user actions to backend architecture. Here's how your codebase is represented:
Shows the main classes and their relationships.
Class Diagram: Core system classes and their connections
Illustrates how users interact with the system.
Use Case Diagram: User actions and system features
Shows the workflow and system states during analysis and diagram generation.
Depicts how components interact to process requests.
Shows the major modules and their connections.
Component Diagram: Major modules
We welcome contributions from everyoneβdevelopers, designers, writers, and testers! To get started:
- Fork the repo and create your branch
- Write clear, well-tested code and update/add documentation
- Open a pull request with a detailed description of your changes
See CONTRIBUTING.md for more details.
This project is licensed under the MIT License.
- Inspired by the open-source UML and diagramming community
- Built with Node.js, Next.js, Flask, and PlantUML
- Special thanks to all contributors and testers
For questions, issues, or feature requests, please open an issue on GitHub.



