Turn text, files, and images into editable Excalidraw diagrams with AI.
Creating diagrams is tedious. You open a drawing tool, drag shapes, connect lines, align everything... for something that took 10 seconds to describe in words.
Describe your diagram in plain text. Or upload a file. Or paste an image. Excalidraw Converter uses the Claude Agent SDK to understand your input and generate a fully editable Excalidraw diagram in seconds.
Coming soon: Live demo at excalidraw-converter.vercel.app
In the meantime, clone and run locally in under 60 seconds.
| Input | What It Does |
|---|---|
| Text | Describe a flowchart, architecture diagram, or any visual — AI generates it |
| Files | Upload Markdown, CSV, JSON, HTML, or XML — automatically parsed into diagrams |
| Images | Upload PNG, JPEG, GIF, or WebP — converted to editable vector elements |
Plus:
- Full Excalidraw editor with pan, zoom, and editing
- Resizable sidebar for comfortable input
- Local storage persistence — your work survives page refreshes
- Client-side timeout handling with clear error messages
Prerequisites: Node.js 18+ and Claude Code CLI (authenticated via OAuth)
git clone https://github.com/cskwork/excalidraw-converter.git
cd excalidraw-converter
npm install
npm run devOpen http://localhost:3000 — that's it.
User Input (text / file / image)
|
v
/api/convert route
|
v
Claude Agent SDK
(analyzes input, generates
Excalidraw JSON elements)
|
v
Validation + Auto Layout
|
v
Excalidraw Editor
(fully editable output)
- You provide input via the sidebar (text description, file upload, or image upload)
- The input is sent to the
/api/convertAPI route - Claude Agent SDK analyzes your input and generates structured Excalidraw elements
- Elements are validated, auto-laid out for readability, and rendered in the Excalidraw editor
- You can edit, export, or share the result — it's a real Excalidraw diagram
| Technology | Role |
|---|---|
| Next.js 15 | App Router, API routes |
| React 19 | UI components |
| Tailwind CSS | Styling |
| Excalidraw | Diagram editor |
| Claude Agent SDK | AI-powered conversion |
| Vitest + Playwright | Unit + E2E testing |
- Software Architecture: "Draw a microservices architecture with API gateway, 3 services, and a database"
- Flowcharts: "Create a user authentication flow with login, 2FA, and password reset"
- Data Visualization: Upload a CSV and get a visual representation
- Image to Editable: Screenshot a whiteboard photo and convert it to clean, editable shapes
- Documentation: Convert Markdown documentation into visual diagrams
| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Production build |
npm run start |
Start production server |
npm run lint |
Run ESLint |
npm test |
Run unit tests (Vitest) |
npm run test:watch |
Run tests in watch mode |
npm run test:coverage |
Run tests with coverage |
Contributions are welcome! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests (
npm test) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See open issues for ideas on what to work on.
MIT -- see LICENSE for details.
If this project saves you time, consider giving it a star.
Built with Excalidraw and Claude Agent SDK.
0 comments
log in to comment.