Free public API for creating, exporting, and sharing interactive flowcharts, Venn diagrams, org charts, pie charts, and mind maps. No API key required.
Live app: freeflowcharts.app
API docs page: freeflowcharts.app/api-docs
OpenAPI spec: freeflowcharts.app/openapi.json
Create a flowchart in one request:
curl -X POST https://freeflowcharts.app/api/create-flowchart \
-H " Content-Type: application/json" \
-d ' {
"title": "My Flow",
"createdBy": "My Agent",
"nodes": [
{ "id": "1", "type": "start", "label": "Begin" },
{ "id": "2", "type": "process", "label": "Do work" },
{ "id": "3", "type": "decision", "label": "Done?" },
{ "id": "4", "type": "end", "label": "Finish" }
],
"edges": [
{ "from": "1", "to": "2" },
{ "from": "2", "to": "3" },
{ "from": "3", "to": "4", "label": "Yes" },
{ "from": "3", "to": "2", "label": "No" }
],
"theme": "neon"
}'
Response:
{
"success" : true ,
"flowId" : " abc123" ,
"shareId" : " k7Rm2xP9qWnE" ,
"url" : " https://freeflowcharts.app/view/k7Rm2xP9qWnE" ,
"embed" : " <iframe src=\" https://freeflowcharts.app/view/k7Rm2xP9qWnE\" width=\" 800\" height=\" 600\" frameborder=\" 0\" ></iframe>" ,
"branding" : " Powered by FreeFlowCharts — https://freeflowcharts.app"
}
Method
Endpoint
Description
POST
/api/create-flowchart
Create a flowchart and get a shareable link
GET
/api/export/json?id=<shareId>
Export as structured JSON
GET
/api/export/mermaid?id=<shareId>
Export as Mermaid syntax (text/plain)
GET
/api/export/svg?id=<shareId>
Export as SVG image (image/svg+xml)
GET
/api/export/png?id=<shareId>
Export as PNG image (image/png, 1600px wide)
Method
Endpoint
Description
POST
/api/create-venn
Create a Venn diagram and get a shareable link
GET
/api/export-venn/json?id=<shareId>
Export as JSON
GET
/api/export-venn/svg?id=<shareId>
Export as SVG
Method
Endpoint
Description
POST
/api/create-orgchart
Create an org chart (tree hierarchy)
GET
/api/export-orgchart/json?id=<shareId>
Export as JSON
GET
/api/export-orgchart/svg?id=<shareId>
Export as SVG
Method
Endpoint
Description
POST
/api/create-piechart
Create a pie/donut chart
GET
/api/export-piechart/json?id=<shareId>
Export as JSON
GET
/api/export-piechart/svg?id=<shareId>
Export as SVG
Method
Endpoint
Description
POST
/api/create-mindmap
Create a mind map (radial layout)
GET
/api/export-mindmap/json?id=<shareId>
Export as JSON
GET
/api/export-mindmap/svg?id=<shareId>
Export as SVG
Method
Endpoint
Description
GET
/api/node-types
List all 19 supported node types
GET
/api/health
API status and endpoint listing
Create Flowchart — Request Body
Field
Type
Required
Description
title
string
Yes
Flowchart title (max 200 chars)
description
string
No
Description (max 1000 chars)
createdBy
string
No
Attribution (e.g. "ChatGPT", "My Agent")
nodes
array
Yes
Array of node objects (1–100)
nodes[].id
string
Yes
Unique node ID
nodes[].type
string
No
Node type (default: "process") — see Node Types
nodes[].label
string
Yes
Display label (max 200 chars)
nodes[].description
string
No
Node description (max 500 chars)
nodes[].x
number
No
X position (if omitted, uses intelligent hierarchical tree layout via Dagre)
nodes[].y
number
No
Y position (if omitted, uses intelligent hierarchical tree layout via Dagre)
edges
array
Yes
Array of edge objects (0–200)
edges[].from
string
Yes
Source node ID
edges[].to
string
Yes
Target node ID
edges[].label
string
No
Edge label (max 100 chars)
background
string
No
Hex color (#1a1a2e) or CSS linear-gradient(...). Default: #06040d
theme
string
No
Visual theme — see Themes
All export endpoints accept optional query parameters:
Param
Description
id
(required) The shareId returned when the flowchart was created
bg
Override background color/gradient for this export
theme
Override visual theme for this export
Priority: ?bg= override > stored background > theme background > default (#06040d)
Priority: ?theme= override > stored theme > "default"
The JSON export includes both stored and resolved values:
Field
Description
theme
Stored theme (what was saved at creation)
background
Stored background (what was saved at creation)
resolvedTheme
Effective theme after ?theme= override
resolvedBackground
Effective background after ?bg= / theme resolution
availableThemes
Array of all valid theme names
# Export as Mermaid syntax
curl " https://freeflowcharts.app/api/export/mermaid?id=YOUR_SHARE_ID"
# Export as SVG
curl " https://freeflowcharts.app/api/export/svg?id=YOUR_SHARE_ID" -o flow.svg
# Export as PNG
curl " https://freeflowcharts.app/api/export/png?id=YOUR_SHARE_ID" -o flow.png
# Override background on export
curl " https://freeflowcharts.app/api/export/svg?id=YOUR_SHARE_ID&bg=%231a1a2e" -o custom.svg
# Override theme on export
curl " https://freeflowcharts.app/api/export/png?id=YOUR_SHARE_ID&theme=candy" -o candy.png
Status
Meaning
400
Missing/invalid fields, duplicate node IDs, or dangling edge references
404
Flowchart not found (export)
405
Wrong HTTP method
429
Rate limit exceeded (30/hr per IP)
500
Internal server error
30 requests per hour per IP address
Applies to both create and export endpoints
No API key or authentication required
All 7 themes applied to the same flowchart:
Candy
See THEMES.md for full descriptions and usage details.
Org Chart — Quick Example
curl -X POST https://freeflowcharts.app/api/create-orgchart \
-H " Content-Type: application/json" \
-d ' {
"title": "Engineering",
"nodes": [
{ "id": "1", "label": "VP Engineering", "title": "Vice President" },
{ "id": "2", "label": "Frontend Lead", "parentId": "1" },
{ "id": "3", "label": "Backend Lead", "parentId": "1" },
{ "id": "4", "label": "Dev A", "parentId": "2" },
{ "id": "5", "label": "Dev B", "parentId": "3" }
]
}'
Max 100 nodes. Auto-layout tree. Colors assigned by depth.
Pie Chart — Quick Example
curl -X POST https://freeflowcharts.app/api/create-piechart \
-H " Content-Type: application/json" \
-d ' {
"title": "Market Share",
"slices": [
{ "label": "Product A", "value": 40 },
{ "label": "Product B", "value": 30 },
{ "label": "Other", "value": 30 }
],
"donut": true
}'
Max 50 slices. Optional donut mode. Colors auto-assigned.
curl -X POST https://freeflowcharts.app/api/create-mindmap \
-H " Content-Type: application/json" \
-d ' {
"title": "Project Ideas",
"nodes": [
{ "id": "1", "label": "Main Topic" },
{ "id": "2", "label": "Branch A", "parentId": "1" },
{ "id": "3", "label": "Branch B", "parentId": "1" },
{ "id": "4", "label": "Sub-idea", "parentId": "2" }
]
}'
Max 100 nodes. Auto radial layout. Colors assigned by branch.
Node Types — All 19 node types with colors and descriptions
Themes — Visual theme guide with descriptions
OpenAPI Spec — Machine-readable API specification
Agent Skill File — Packaged skill for AI agents
Examples — Code examples in bash, Python, and JavaScript
Built by FreeFlowCharts — free flowchart maker with AI