Docs

Get fluent in twenty minutes.

One page covering everything that matters — every engine, the AI co-pilot, exports, shortcuts. If a feature isn't documented here it's either obvious or doesn't ship.

Getting started

Open one of the workspaces, paste or describe what you want, and refine. Free with a quick sign-up.

  1. 1. Pick a workspace. Studio for code-to-diagram on 80 engines. Lab for GlyphScript — our typed research-native language with editable canvas + AI co-pilot. Weave for drag-and-drop visual canvases. Science for illustrated Biology / Chemistry / Physics / Math figures. BPMN for BPMN 2.0 process models. Sketch for the same canvas with a hand-drawn aesthetic. Evidence to turn a body of papers into a cited evidence graph.
  2. 2. Start from a template or describe what you want. The Templates browser has every starter point; the AI co-pilot will generate something from a sentence.
  3. 3. Refine in place.Click any label to rename it. Drag, recolour, resize. Ask the AI for changes — “add an error branch”, “use a colour-blind safe palette”.
  4. 4. Export.PNG, SVG, PDF, TikZ, or the engine's native source. Share a permalink with the diagram encoded directly in the URL (no server needed).

Engines

80engines, one workspace. Each one renders in milliseconds and supports the studio's shared toolbar — click-to-edit labels, AI refinement, export, share.

Mermaid

compat: Mermaid 11

Versatile text-to-diagram language. Renders flowcharts, sequence, class, ER, state, gantt, mindmap, sankey, C4, packet, architecture, kanban, radar, treemap, venn, wardley, eventmodeling and 30+ more. Paste any Mermaid snippet — fully compatible.

Templates
332
Language
mermaid
Engine docsOpen ↗

Weave

compat: Lucidchart-style canvas

Full visual drag-and-drop canvas. Drag shapes from the palette, draw arrows between them, double-click to rename, move things around — exactly like Lucidchart, draw.io or Miro. The JSON source updates as you draw.

Templates
251
Language
json
Engine docsOpen ↗

Free-body diagram

Native free-body diagrams for mechanical, structural, and civil engineering. Declare bodies with `at x,y` positions and arbitrary force vectors with magnitudes, colours, and labels. Supports `moment` curved-arrow torques and an optional hatched `surface` line for incline / floor contexts. Renders in a true coordinate system so vectors are physically faithful.

Templates
85
Language
plaintext
Engine docsOpen ↗

Circuit schematic

Native electrical schematic capture. Declare components (resistor, capacitor, inductor, diode, LED, transistor, op-amp, source, ground, switch, junction) at grid coordinates with values, then wire them together. Renders with standard IEC / ANSI-style symbols and labelled values. Ideal for textbook circuits, lab notes, and small-design documentation; not a substitute for KiCad on a real PCB.

Templates
74
Language
plaintext
Engine docsOpen ↗

Drug-interaction network

Native pharmacology / clinical-pharmacy network diagrams. Declare drugs (with optional therapeutic class) and pairwise interactions with effect, severity, and mechanism. Edges are colour-coded by severity (minor → moderate → major → contraindicated) and stack cleanly when one drug pair has multiple interactions. Ideal for polypharmacy reviews and pharmacology teaching.

Templates
69
Language
plaintext
Engine docsOpen ↗

Digital logic (gates / K-map / truth table)

Native digital-logic engine — three modes in one. `type gates` for IEC-style gate schematics (AND, OR, NOT, NAND, NOR, XOR, XNOR, BUF), `type kmap` for 2-4 variable Karnaugh maps with Gray-coded rows / columns and highlighted 1-cells, `type truthtable` for full truth tables with output-coloured cells. Covers the EE / CS undergraduate digital-logic curriculum.

Templates
65
Language
plaintext
Engine docsOpen ↗

Anatomy / body systems

Native anatomy diagrams for medicine, nursing, and biology teaching. Pick a body diagram (`whole`, `heart`, `lungs`, `kidney`, `brain`, `digestive`, `skeleton`) and drop labelled markers at specific anatomical points. Markers come with leader lines and an optional callout box so a single diagram supports both lecture annotations and exam-style labelling sheets.

Templates
57
Language
plaintext
Engine docsOpen ↗

Causal DAG

Native causal directed-acyclic graphs for epidemiology and inference. Declare nodes by role — `exposure`, `outcome`, `confounder`, `mediator`, `unobserved` — and the engine colour-codes them and lays out the diagram so the causal story reads left-to-right. Bidirected (`---`) edges render as dashed double-headed arcs for unmeasured association.

Templates
52
Language
plaintext
Engine docsOpen ↗

Quadrant Matrix

Native 2×2 decision matrices and quadrant charts — Eisenhower, BCG growth-share, risk (likelihood × impact), effort/impact prioritisation, Gartner-style magic quadrants, stakeholder power/interest, and SWOT-as-scatter. Declare two axes, four quadrant labels, and `point` rows at 0..1 coordinates; points inherit their quadrant's accent or take an explicit `#hex`. Mermaid-quadrantChart-compatible syntax, rendered as crisp print-ready SVG.

Templates
52
Language
plaintext
Engine docsOpen ↗

Timeline (history)

Native historical / era timelines. Declare an axis with start and end years, drop labelled `event` points at specific dates, draw `era` bands spanning ranges (Bronze Age, Renaissance, Cold War), and stack lanes for parallel narratives (e.g. politics vs. science). Renders with smart label dodging so dense periods stay readable. Distinct from Gantt — built for centuries and millennia, not sprint days.

Templates
46
Language
plaintext
Engine docsOpen ↗

Genetics pedigree

Native genetics / genealogical pedigree charts using standard clinical notation: squares for males, circles for females, diamonds for unknown sex, filled symbols for affected individuals, half-filled for carriers, slashes for deceased, arrows for the proband. Mating lines link partners, sibship lines descend to children.

Templates
46
Language
plaintext
Engine docsOpen ↗

Petri Nets

compat: Native renderer

Concurrency's foundational model — places (circles) hold tokens, transitions (rectangles) fire when their inputs are saturated, arcs connect them. Tiny DSL: `place P1 tokens 2 "Ready"`, `transition T1 "fire"`, `P1 -> T1`. Auto-layout by topological depth, or pin every node with `@ x,y`. Native — no other major platform ships first-class Petri-net rendering.

Templates
43
Language
petri
Engine docsOpen ↗

Stratigraphy / Harris matrix

Native stratigraphic columns for geology and archaeology + Harris matrix for relative chronology. `type column` renders layers with thickness, colour, age labels, and depth ticks. `type harris` lays out context units in a DAG with `above` relationships, auto-levelling so each unit sits above whatever it physically overlies.

Templates
43
Language
plaintext
Engine docsOpen ↗

Phase diagram (materials)

Native phase diagrams for materials science and thermodynamics. `type pt` (pressure × temperature) renders single-component diagrams with sublimation / vaporisation / fusion curves and labelled triple / critical points. `type binary` renders a composition × temperature alloy diagram with liquidus + solidus curves bridging both pure-component melting points.

Templates
43
Language
plaintext
Engine docsOpen ↗

Org chart

Native organisational charts from an indentation-based outline. One person or unit per line — `Name | Role | meta` — with 2-space indents for reporting lines. Auto-laid-out top-down tree of rounded cards with elbow connectors, depth-tinted accents, optional role and metadata rows (team size, location), and multiple roots for holding structures. The org chart Graphviz makes you fight for, in ten lines of text.

Templates
22
Language
plaintext
Engine docsOpen ↗

GlyphScript

compat: Glyph native — no other tool speaks it yet

The first diagram language designed for research. Every element has a domain type — `study`, `cohort`, `arm`, `outcome`, `project`, `task`, `service`, `kpi`, … — and numbers PROPAGATE. Declare `cohort eligible { n: 1240, from: screened, excluded: { ineligible: 198, declined: 64 } }` and the validator checks that 198 + 64 + 1240 = screened.n. One model renders as many publication-ready views (CONSORT 2010 flow ships in V0; Sankey, summary-bars, Gantt, C4, funnel coming next). Designed for clinical trials, biology, ML eval, project management, engineering architecture, and business strategy from day one.

Templates
21
Language
glyphscript
Engine docsOpen ↗

State machine (FSM)

Native finite state machines — cleaner than Mermaid's stateDiagram for serious modelling. Declare states (with optional `final` marker), an `initial` state (rendered with a lead-in dot), and transitions with `on` events, `[guards]`, and `/ actions`. Self-loops render as curved arrows above the state; final states get the canonical double-ring symbol.

Templates
14
Language
plaintext
Engine docsOpen ↗

Argument map

Native argument maps for philosophy, critical thinking, debate, and legal reasoning. Declare a central `claim`, then `support` and `object` arguments either attacking the claim or rebutting other arguments. PRO arguments render green, CON arguments red, with arrows pointing FROM each argument TO whatever it supports or attacks. Rebuttals nest naturally.

Templates
11
Language
plaintext
Engine docsOpen ↗

Bytefield

compat: bytefield-svg

Byte-field / packet-layout diagrams. Designed for binary protocol specifications, file-format documentation, network packet structure, register maps. Tiny Clojure-flavoured DSL — `(draw-column-headers)`, `(draw-box "flags" [{:span 4}])` — renders the kind of figure you see in RFCs.

Templates
10
Language
clojure
Engine docsOpen ↗

Railroad / syntax diagram

Native railroad (syntax) diagrams for grammars, json.org style. One production per block — `rule ::= term | other` — with sequences, stacked `|` choices, `[optional]` bypasses, `{repetition}` loops and `(grouping)`. Quoted terminals render as rounded pills, bare nonterminals as rectangles, and every rule in the document renders as its own stacked diagram. The standard way language and API docs explain syntax.

Templates
10
Language
plaintext
Engine docsOpen ↗

RACI matrix

Native RACI / RASCI responsibility-assignment matrices. Declare columns with `roles: PM, Design, Eng`, then one task per line — `Launch approval | A, I, R` — using R / A / S / C / I codes, combinations like `A/R`, and `-` for none (case-insensitive, extra or missing cells forgiven). Renders a zebra-striped matrix of colour-coded chips with a role header and a compact legend. The who-does-what chart every project kickoff rebuilds in a spreadsheet.

Templates
10
Language
plaintext
Engine docsOpen ↗

Packet diagrams (packetdiag)

compat: packetdiag

Protocol packet layouts in a column-based DSL — write `0-15: source port` `16-31: destination port` and every bit-field renders with the correct width. Ideal for RFC-style protocol documentation; complementary to bytefield-svg.

Templates
8
Language
plaintext
Engine docsOpen ↗

ERD

compat: BurntSushi/erd

Pure entity-relationship DSL. `[Person]` then `*name` for keys, `firstName` for fields, `Person *--1 Company {label: "works at"}` for relations. Renders through Graphviz internally, so layout is rock-solid even for 50-entity schemas. The cleanest text-to-ERD pipeline available.

Templates
7
Language
erd
Engine docsOpen ↗

Floor plan (2D)

Native top-down architectural floor plans. Declare walls as coordinate pairs, drop doors (with arc) and windows (double-line), label rooms with optional areas, and place furniture from a built-in library (sofa, bed, table, fridge, stove, sink, toilet, shower, bathtub, desk, tv, plant). Renders crisp printable SVG with an optional dot grid and scale bar.

Templates
7
Language
plaintext
Engine docsOpen ↗

Choropleth (GIS)

Native choropleth maps for geography, demography, and epidemiology. Ships with a compact built-in atlas of world countries (ISO-3166 alpha-2) as a stylised hex-tile grid — no TopoJSON download required. Provide values per country code and the engine colour-scales them automatically. Bonus: a US states map (USPS codes) for state-level dashboards. Bigger atlas / SVG-accurate borders coming in a follow-up.

Templates
4
Language
plaintext
Engine docsOpen ↗

Music notation

Native single-voice music notation. Parses a minimal ABC-style syntax (note letters with optional accidentals, durations, bar lines) and engraves it on a treble or bass clef with key signature, time signature, and a basic note / rest set (whole, half, quarter, eighth, sixteenth). Suitable for music theory teaching, melody jotting, and lecture slides; not a full engraver — chords, beams, slurs, and complex articulations will come in a follow-up.

Templates
4
Language
plaintext
Engine docsOpen ↗

P&ID (chemical eng)

Native process & instrumentation diagrams for chemical engineering. Declare equipment (vessel, reactor, heat-exchanger, pump, compressor, tank, column, separator), instruments (gauges + control loops in ISA-5.1-style balloons), and piping connections between them. Supports stream tags, valves (gate, ball, check, control), and tagged process variables (PV, FV, LV, TV).

Templates
4
Language
plaintext
Engine docsOpen ↗

Floor plan (3D)

Same DSL as Floor plan (2D), rendered in axonometric / isometric SVG with extruded walls — a printable 3D view, no WebGL. Pick `view iso | front | side | top` and set the wall `height`. This is intentionally a viewer (not an editable SketchUp / Revit-style modeller); for diagram, deck, and PDF use-cases an axonometric SVG covers 80 % of the use case at 5 % of the engineering cost.

Templates
3
Language
plaintext
Engine docsOpen ↗

Excalidraw

compat: Excalidraw JSON

Hand-drawn whiteboard aesthetic for real. Drop in an Excalidraw `.excalidraw` JSON export (or compose one inline) and render it as a publication-ready SVG with the signature rough-pen feel. Round-trips with excalidraw.com — paste anything you sketched there.

Templates
2
Language
json
Engine docsOpen ↗

WireViz

compat: WireViz

Cable-harness diagrams for hardware engineering. Declare `connectors` and `cables` in YAML, list the `connections` between pin/wire pairs, and WireViz produces an annotated wiring schematic with conductor colours, pin labels, and a bill-of-materials. The first-class way to document any wiring loom — robotics, automotive, audio, lab rigs.

Templates
2
Language
yaml
Engine docsOpen ↗

Symbolator (HDL)

compat: Symbolator

Render block symbols from VHDL / Verilog component declarations. Paste an entity or module header and get a neatly drawn symbol with grouped, aligned port pins — the kind of figure that lives in chip datasheets and FPGA documentation.

Templates
2
Language
vhdl
Engine docsOpen ↗

Floor plan (3D WebGL)

Real-time 3D viewer for floor plans, rendered with Three.js. Same DSL as the 2D / axonometric floor-plan engines — walls extrude up, rooms become 3D volumes, and you can orbit / pan / zoom with the mouse or pinch on touch. This is Phase 1 of the editable architecture modeller; phase 2 will add raycaster click-to-edit on walls, doors, and furniture so you can model interactively while the DSL stays the source of truth.

Templates
2
Language
plaintext
Engine docsOpen ↗

Evidence — the research graph

Evidence turns a body of literature into a living, citation-grounded evidence graph. Ask a research question, then find papers (type a topic or paste DOIs → OpenAlex) or paste their text. An agent extracts claims, verifies each one against its exact source quote, and assembles a concept graph — concepts as nodes, typed relationships as edges (supports / contradicts / increases / moderates…). Nothing enters the graph uncited.

  • Reads many ways: concept map, causal DAG, GRADE evidence table + Summary of Findings, PRISMA flow, sortable evidence table.
  • Finds the tension: automatic contradiction detection, research-gap finding, and leave-one-out robustness (which studies are load-bearing).
  • Goes deeper: causal back-door adjustment sets (do-calculus), mechanism path tracing, temporal trends, and quantitative effect synthesis with forest plots.
  • Ask it anything: a streaming, multi-turn research assistant grounded in the graph's verified claims — with clickable [n] citations — that summarizes, drafts review narrative, explains conflicts, and suggests one-click literature searches to fill the gaps.
  • Lives & exports: save a project and re-run as new papers appear (the graph diffs); export a Markdown report, BibTeX/RIS, a claims CSV, or a portable JSON graph.
AI co-pilot

Talking to the AI

Every workspace has an AI panel. Two things to know:

  1. It's mode-aware. An empty canvas triggers generate; a populated one triggers refine — the model sees the current source and edits it instead of starting over.
  2. Suggestions appear after every response.The model always returns three short next-prompts (“Add error branch”, “Switch to top-down”, “Use colour-blind safe palette”). One click to apply.
  3. Dictate it. The microphone button is wired to the Web Speech API — works in Chrome, Edge, and Safari 14+.
  4. BYO key. Paste your Anthropic key in Settings and the daily quota goes away. We never log or store the key.

Good prompts: “transformer attention block, four heads, residual + LayerNorm”. Bad prompts: “make a diagram” (we have no idea what about).

Headless API

Everything Glyph does is scriptable. Create a key in your account and call the endpoints with Authorization: Bearer glyp_…. Great for CI, docs generators, and pipelines.

  • POST /api/render — render any engine's source to SVG/PNG, no headless browser. Limits scale with your tier.
  • POST /api/v1/diagram — generate a diagram from a natural-language prompt (engine, title, source, embed URL).
  • POST /api/v1/generate — deterministically render a structural source (SQL, DBML, D2, Graphviz, OpenAPI) to Mermaid.
  • POST /api/v1/diff — structural, meaning-aware diff of two sources (added/removed/renamed nodes & edges) for PR checks.
  • POST /api/v1/synthesize — assemble a citation-grounded Evidence graph from claims (deterministic, no AI).
  • POST /api/v1/analyze — the full Evidence analytical layer in one call: graph + contradictions/gaps + GRADE certainty, robustness, temporal trends, Summary of Findings, and a recommendations agenda.

Every endpoint also responds to GET with its own JSON schema/usage. A GitHub Action and a zero-dependency glyph-diff CLI wrap the diff/generate APIs for any CI.

Exports

PNG · SVG · PDF · TikZ · JSON

  • PNG — html-to-image with 2× pixel ratio, white background, handles filtered out.
  • SVG — vector export, perfect for slides and papers.
  • PDF — single-page jsPDF, auto-orient (landscape if wider than tall), centred on A4 with a 24-pt margin.
  • TikZ / LaTeX — drop into Overleaf, opens straight as a figure.
  • JSON source — round-trip with the workspace. Versionable in git.
  • Share link — the diagram is base64-encoded into a URL hash (#diagram=…). No server needed; the link works forever from any device.
Shortcuts

Get fluent fast

Global
  • Command palette⌘K · Ctrl+K
  • Flow Dock (continue anywhere)⌘J · Ctrl+J
  • Open AI⌘E · Ctrl+E
  • Icon library⌘I · Ctrl+I
  • This shortcuts overlay⌘/ · Ctrl+/ · ?
Weave canvas
  • Add shapeDrag from palette
  • Move / renameDrag / double-click
  • Duplicate⌘D · Ctrl+D
  • DeleteDelete · Backspace
  • PanDrag empty canvas
  • ZoomWheel · pinch
Studio
  • New figure⌘N · Ctrl+N
  • Toggle settings⌘, · Ctrl+,
  • Cycle theme⌘L · Ctrl+L
  • Toggle TikZ panel⌘L · Ctrl+L
Modals
  • Close anythingEscape
  • Send AI prompt⌘ Enter · Ctrl+Enter
  • Voice dictationMic button (Chrome / Edge / Safari)

Question? No contact address is configured for this deployment yet. · See live numbers on /status.