# Canvas and frames
Source: https://canvas-docs.vibeflow.ai/concepts/canvas-and-frames
The two units you work with every day. Everything else is built on these.
## Canvas
A **canvas** is a document you own at `/canvas/:id`. It holds your frames, your chat history, and a few pinned settings:
| What's on a canvas | What it does |
| ------------------ | ------------------------------------------------------------------------ |
| **Frames** | The artboards visible in the viewport. Any number, any size. |
| **Chat history** | Every brief, every reply, every tool call. Multiple chats per canvas. |
| **Design system** | Optional, pinned to the canvas. Locks brand for every future generation. |
| **Style preset** | Optional aesthetic (e.g. *Editorial*, *Glassmorphism*) layered on top. |
| **Assets** | Images you've uploaded or generated, addressable by the agent. |
A canvas belongs to an organization and is **owner-scoped**. Other people in your org cannot edit it today (multiplayer is coming soon). They can clone a copy if you publish it to the community gallery.
### Creating a canvas
`/home` → toggle to **Canvas** → brief → **Generate**. You land on `/canvas/:id` with the agent already streaming.
`/canvas` → **New canvas**. Blank canvas, then talk to the agent in chat.
`/community` → pick a canvas template → **Use template**. You get an owned copy.
You can also create a canvas from your editor via the [MCP](/mcp/tools), then drive it from chat.
***
## Frame
A **frame** is a fixed-size artboard rendered as inline HTML inside an iframe on the canvas. That's the whole shape.
| Property | Detail |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Size | Set per-frame. Common sizes: 1440 × 900 desktop, 1920 × 1080 slide, 1080 × 1080 social, 390 × 844 mobile, 1200 × 628 ad. Any custom size works. |
| Position | `x`, `y` on the canvas. Drag with the mouse. |
| Stack order | A `z` index per frame. Frames can overlap. |
| Content | Inline-styled HTML. No `