Getting Started

Documentation

Everything you need to know about diagrams.love — the AI-native diagramming tool.

What is diagrams.love?

diagrams.love is an AI-powered diagram editor. Create flowcharts, system architecture diagrams, user journey maps, process flows — anything with visual structure. Describe what you need in plain language and AI builds it instantly, or use the canvas editor to draw manually.

Visual Editor

Drag & drop canvas. Double-click to add cards, drag to connect. No learning curve.

AI Generation

Describe anything in plain language — get a ready diagram in seconds. 400+ AI models.

Share Instantly

Public links anyone can open without an account. Presentation mode included.

Open Format

Every diagram is plain JSON. Download, edit with AI tools, reimport. No lock-in.

Create Your First Diagram

There are multiple ways to create a diagram. Choose whichever fits your workflow:

  1. 1

    Open the Canvas

    Go to /canvas (or click Open Canvas in the nav). Sign in — it only takes a moment.

  2. 2

    Choose your creation method

    AI: Open the AI chat panel, describe what you need — AI builds the diagram.
    Manual: Double-click the canvas to add cards, drag between cards to create connections.

  3. 3

    Customize & Share

    Change colors, add tags, rename cards. Then hit Share to get a public link anyone can open.

Canvas Editor

Canvas Basics

The canvas is an infinite whiteboard. Here's how to navigate:

ActionHow
Pan the canvasClick and drag on empty space, or middle mouse button
Zoom in/outScroll wheel, or pinch on trackpad
Add a cardDouble-click on empty canvas, or use toolbar button
Add a condition (diamond)Use the Condition button in the toolbar
Move an elementClick and drag any card or condition
Select multipleHold Shift and click, or drag to select a region
Delete elementSelect it, press Delete or Backspace
Fit all to screenPress F or use the fit button in toolbar

Cards & Connections

Element Types

  • Cardstandard block with title, description, tags, and color. The most common element type.
  • Condition (Diamond)decision point for branching logic. Use for Yes/No forks in a flow.
  • ASCIImonospace text card for wireframes and text layouts. Great for sketching UI screens.
  • HTMLrich card with live HTML content — buttons, forms, animations. Use for interactive mockups.
  • iFrameembed any URL directly on the canvas — live websites, Figma prototypes, data dashboards.

Creating Connections

  1. Hover over any card — connection handles appear on the edges
  2. Drag from a handle to another card to create an arrow
  3. Double-click a connection line to add a label
  4. Right-click a connection to delete it or change direction

Editing Cards

Click a card to open the detail panel on the right. You can edit:

  • Title and description
  • Color (10 named values)
  • Tags (custom labels per diagram)
  • Date field
  • Card type (Card, Condition, ASCII, HTML, iFrame)

Colors & Tags

Color System

Each card has a single color field. Choose from 10 named colors — these control the card's visual accent (border and fill are unified under one color value).

Color Hex Typical use
default#ddddddNeutral / default state
blue#2196F3Main processes, actions
green#4CAF50Start, success, done
orange#FF9800Warnings, in progress
purple#9C27B0Decisions, groups
red#F44336Errors, blockers, critical
teal#00BCD4Special, verified
yellow#FFC107Conditions, review
gray#607D8BInactive, completed
black#000000Emphasis, headers

Tags

Tags are custom labels you add to cards. Each diagram has its own tag set — tags are per-diagram, not global. Use them to filter, categorize, or track state (e.g. "in_progress", "system", "external").

To create a tag: open any card, click the Tags field, type a name and press Enter. Tag colors are assigned automatically based on the tag name for visual consistency across cards.

Keyboard Shortcuts

Add card
Double-click
Delete selected
Del / Backspace
Copy
Ctrl+C
Paste
Ctrl+V
Undo
Ctrl+Z
Redo
Ctrl+Y
Save
Ctrl+S
Fit all to screen
F
Zoom in
Ctrl++
Zoom out
Ctrl+-
Select all
Ctrl+A
Deselect / close
Esc
Dashboard

Managing Diagrams

The dashboard is your home base — a list of all diagrams you own or have access to. All diagrams are private by default and only visible to you.

ActionHow
Create new diagramClick "New diagram" button — opens a blank canvas
Rename a diagramRight-click the diagram card, or open the canvas and edit the title at the top
DuplicateRight-click the diagram card and choose Duplicate — creates a full copy
DeleteRight-click and choose Delete. Deletion is permanent — export JSON first if you need a backup
SearchUse the search bar at the top of the dashboard to filter by diagram name
Diagrams are never auto-deleted. Even if you cancel your subscription, all your diagrams stay accessible on the Free plan.

Projects & Subprojects

Projects are folders that let you organize diagrams into groups. You can nest projects inside other projects to create a tree hierarchy.

Working with Projects

  • Create a project from the dashboard sidebar — give it a name and it appears in the left panel
  • Drag and drop diagrams from the main list into a project folder
  • Create sub-projects by nesting a project inside another project
  • Rename or delete projects via right-click. Deleting a project does not delete the diagrams inside — they move back to the root level
  • Via MCP: use list_projects, create_project, and move_schema_to_project to manage projects programmatically
Sharing & Export

Share via Link

Every diagram can be shared via a public read-only link. Recipients can view the diagram in full without creating an account.

How to Share

  1. Open a diagram on the canvas
  2. Click the Share button in the toolbar
  3. Choose "Via Link" — the public link is copied to clipboard
  4. Anyone with the link can open and view your diagram
Read-only by default. Public links are view-only. To give someone edit access, invite them as a collaborator (see below) or share an edit link (Pro/Max).

Invite Collaborators

You can invite specific people to a diagram by email. Collaborators must have a diagrams.love account.

Access Roles

RolePermissions
ViewerCan view the diagram, zoom, navigate. Cannot edit anything.
EditorCan edit cards, connections, colors, and tags. Cannot delete the diagram or manage collaborators.

To manage collaborators: open the Share popup on a diagram, go to the "People" tab, enter an email, choose a role, and send the invite. The owner can revoke access at any time.

Edit Links

Edit links let you share a diagram as editable without requiring the recipient to have an account. Available on Pro and Max plans. Generate an edit link from the Share popup — anyone with the link gets Editor access.

Use carefully: edit links grant full edit access to anyone who has them. Revoke the link from the Share popup if you need to remove access.

Presentation Mode

Presentation mode turns your diagram into a clean fullscreen view — perfect for walkthroughs, demos, and meetings.

  • Hides the toolbar and editing UI
  • Clean background, focused on the diagram
  • Works on shared links too — send the presentation URL directly
  • Works on any screen — desktop, tablet, projector

To enter: click the Present button in the toolbar, or add ?present=1 to any diagram URL.

Export Formats

FormatDescriptionPlan
JSONFull diagram data — import back, send to AI, edit programmaticallyAll plans
PNGRaster image — good for presentations and documentsAll plans
SVGVector image — scales without quality lossAll plans
WebPCompressed image — smaller file size than PNGPro & Max

The JSON export is powerful — send it to ChatGPT or Claude, ask them to modify it, then reimport the updated JSON. This is the AI Edit workflow.

AI Features

AI Chat

The AI chat panel is built into the canvas editor. Open it from the toolbar (AI button). You can:

  • Describe a process or system — AI creates a full diagram
  • Ask AI to modify the existing diagram ("add an error state", "split this step into two")
  • Ask questions about your diagram structure
  • Request analysis, suggestions, or missing steps
Requires AI creditsAI chat uses your AI credits balance. Free plan gets $3 one-time credits on signup. Pro and Max plans include weekly credit refills.

AI Generation

diagrams.love supports 400+ AI models via OpenRouter. Your prompt produces a structured JSON diagram which renders instantly on canvas.

Example Prompts

  • "User registration flow with email verification and role selection"
  • "E-commerce checkout process including payment failure handling"
  • "CI/CD pipeline from commit to production deployment"
  • "Customer support ticket lifecycle from open to resolved"

AI Edit Workflow

Use external AI tools (ChatGPT, Claude) to edit diagrams:

  1. Export your diagram as JSON (Export button)
  2. Paste the JSON into ChatGPT or Claude with your edit request
  3. Copy the returned JSON
  4. Import it back into diagrams.love (Import from JSON button)
MCP Server

MCP Integration

The MCP (Model Context Protocol) server lets AI tools like Claude Desktop, Cursor, and Windsurf create and edit diagrams directly — no copy-pasting JSON. Available on Pro and Max plans.

Quick Start

  1. 1

    Get your token

    Open Profile & Settings and copy your token from the "MCP Integration" section.

  2. 2

    Add to your MCP client config

    Add this block to your MCP client config (e.g. ~/.claude.json for Claude Code):

    ~/.claude.json
    {
      "mcpServers": {
        "diagrams-love": {
          "command": "npx",
          "args": ["-y", "diagrams-love-mcp"],
          "env": {
            "DIAGRAMS_TOKEN": "your_token_here"
          }
        }
      }
    }
  3. 3

    Restart your MCP client

    Restart Claude Code, Cursor, Windsurf, or your other MCP client. The diagrams-love server is now available.

Pro & Max only. MCP server access is not available on the Free plan. Upgrade to Pro or Max to use this feature. Requires Node.js 18 or newer.

Available Commands

All commands are available as MCP tools. When used via Claude Code they are prefixed automatically (e.g. mcp__diagrams-love__list_schemas).

CommandGroupDescription
list_schemasDiagramsList all your diagrams
get_schemaDiagramsGet a diagram with all elements and connections
create_schemaDiagramsCreate a new diagram from JSON
delete_schemaDiagramsDelete a diagram permanently
export_schema_to_jsonDiagramsExport a diagram to a local JSON file
import_schema_from_jsonDiagramsCreate or update a diagram from a local JSON file
relayout_schemaDiagramsRe-run auto-layout on a diagram
list_projectsProjectsList all projects
create_projectProjectsCreate a new project folder
update_projectProjectsRename or update a project
delete_projectProjectsDelete a project (diagrams inside are kept)
move_schema_to_projectProjectsMove a diagram into a project
list_tagsTagsList all tags in a diagram
add_tagTagsAdd a new tag to a diagram
remove_tagTagsRemove a tag from a diagram
tag_elementTagsAssign a tag to a specific element
list_schema_versionsVersionsList version history of a diagram
get_schema_versionVersionsGet a specific historical version
restore_schema_versionVersionsRestore a diagram to a previous version

JSON Diagram Format

Diagrams are plain JSON. Each element in the elements array follows this structure:

{
  "id": "unique_id",
  "type": "card",        // card | condition | ascii | html | iframe
  "title": "Card Title",
  "color": "blue",       // color name (see Colors section)
  "tags": ["tag1"],
  "description": "Description text",
  "content": "...",      // REQUIRED for ascii/html/iframe types
  "connections": [
    {"to": "target_id", "label": "optional label"}
  ]
}
Do not set positions. Never specify x, y, width, or height — the layout engine calculates these automatically. Only provide the logical structure.
content field: For ascii, html, and iframe types, put the main content in the content field. There is no asciiContent or htmlContent — the field is always named content.

Full Example

Diagram Example
{
  "name": "User Registration",
  "elements": [
    {
      "id": "start",
      "type": "card",
      "title": "Registration Form",
      "color": "green",
      "tags": ["user"],
      "description": "User fills email and password",
      "connections": [{"to": "validate", "label": "submit"}]
    },
    {
      "id": "validate",
      "type": "condition",
      "title": "Valid?",
      "color": "yellow",
      "connections": [
        {"to": "save", "label": "yes"},
        {"to": "error", "label": "no"}
      ]
    },
    {
      "id": "save",
      "type": "card",
      "title": "Save to DB",
      "color": "blue",
      "description": "Create user record",
      "connections": [{"to": "success"}]
    },
    {
      "id": "error",
      "type": "card",
      "title": "Show Error",
      "color": "red",
      "connections": [{"to": "start", "label": "retry"}]
    },
    {
      "id": "success",
      "type": "card",
      "title": "Success",
      "color": "green"
    }
  ]
}

Colors in JSON

Use color names (not hex values) for the color field. Valid values: default, blue, green, orange, purple, red, teal, yellow, gray, black.

Complete MCP Reference: For detailed per-command documentation with all parameters, examples, and best practices, see the Full MCP Reference.
FAQ

Frequently Asked Questions

Is diagrams.love really free?
Yes. The Free plan has unlimited diagrams — there is no 5-diagram or 10-diagram limit. You get $3 of AI credits on signup (one-time). When those credits run out, AI features require a Pro or Max upgrade.
Do diagrams expire or get deleted?
No. Diagrams are never deleted, even if you cancel your subscription. If you downgrade from Pro to Free, your diagrams remain accessible — you just lose Pro-only features like MCP access.
What AI models are supported?
400+ models via OpenRouter — GPT-4o, Claude Sonnet/Opus/Haiku, Gemini Pro/Flash, Llama, Mistral, and many more. Pro and Max plans have access to the full model selection.
Can I use diagrams.love without AI?
Yes, absolutely. The visual editor works entirely without AI — double-click to add cards, drag to connect, customize colors and tags. AI is an optional power feature, not a requirement.
What is the MCP server?
MCP (Model Context Protocol) lets AI tools like Claude Desktop or Cursor connect directly to your diagrams.love account. The AI creates and edits diagrams itself — no manual JSON copy-pasting. Available on Pro and Max plans.
Is my data private?
Yes. Diagrams are private by default. We do not read your diagrams, sell your data, or use your content to train AI models.
Can I cancel anytime?
Yes. Cancel anytime from Profile → Billing. You keep Pro/Max features until end of billing period. Your diagrams are never deleted.
Does it work on mobile?
The canvas editor is optimized for desktop. On mobile you can view and browse diagrams, but editing is best on a desktop or laptop.
How does version history work?
Pro and Max plans include automatic version history. Every save creates a version snapshot. You can browse previous versions, preview any of them, and restore to a previous state. Via MCP: use list_schema_versions, get_schema_version, and restore_schema_version.

Troubleshooting

MCP token not working?

  • Tokens don't expire unless manually revoked — check Profile
  • Make sure you copied the entire token (no trailing spaces)
  • MCP requires Node.js 18 or newer — check with node --version

MCP not connecting?

  • Check JSON syntax in your config file — even a trailing comma breaks it
  • The environment variable must be named exactly DIAGRAMS_TOKEN
  • MCP requires Pro or Max plan — Free plan cannot use MCP
  • After editing the config, fully restart your MCP client (not just reload)

AI chat not responding?

  • Check your AI credits balance in Profile → AI Settings
  • Free plan: $3 one-time credits — upgrade to Pro or Max when depleted
  • Try a different AI model — some may be temporarily unavailable on OpenRouter

Canvas not loading?

  • Hard refresh the page: Ctrl+Shift+R (or Cmd+Shift+R on Mac)
  • Check your internet connection — the canvas requires a live connection to load and save
  • Try opening the diagram in a new browser tab

Need more help?

Support Chat

Use the chat widget at the bottom right of any page — we're here to help.

Contact Page

Visit our Contact page — we respond within 24 hours.

MCP package on npm: diagrams-love-mcp.