Canvas
Canvas is a visual designer for Minecraft: Bedrock Edition menus and forms. You lay out a form, say what its buttons do in plain language, try it in the browser, and export a pack that works in game.
It's the third tool in a family: Quarry builds worlds, Orbit films them, Canvas designs their interfaces. Everything runs locally in your browser — nothing is uploaded.
The five-minute version
- Open Canvas and pick a template, or start from an empty menu.
- Drag elements from the left onto the form in the middle.
- Select a button and give it actions in the panel on the right.
- Press Play and click through your menu right here in the browser.
- Press Export and choose Test world to see it in Minecraft immediately.
What you can build
Canvas covers the three kinds of form Bedrock has, and the difference between them matters — they're genuinely different things in the game, not styles of the same thing.
| Kind | What it is | Use it for |
|---|---|---|
| Menu | A vertical list of buttons, with optional headers, text and dividers | Shops, warp lists, main menus, dialogue choices |
| Input form | Text fields, sliders, dropdowns and toggles with one submit button | Settings, "how many?", registration, configuration |
| Message box | A short question with exactly two buttons | Confirmations, yes/no prompts |
Forms can open other forms, so a project is really a small graph of screens. Canvas draws those links right on the canvas so you can see the shape of what you've built.
What gets exported
An .mcaddon containing a behaviour pack with generated scripts, plus a resource pack if you used custom icons. Import it into Minecraft and turn it on for any world.
A test .mcworld — a void world with a small platform, your packs already installed and switched on, and the Beta APIs experiment enabled if your project needs it. This exists so that trying a change costs seconds rather than five minutes of pack management.
The generated scripts are readable. Open scripts/ui.js in the exported pack and you'll find your forms as plain data; main.js and actions.js are the same in every pack Canvas produces.
Four ways for players to open your menu
- A slash command —
/canvas:open. Registered through Bedrock's custom-command system, so it needs no cheats and works in survival. - An item — right-clicking a compass, or a custom item Canvas generates for you.
- A script event —
/scriptevent canvas:open, for command blocks and other packs. - When a player joins — with a retry loop, because the client reports itself busy for a moment after spawning.
Change the canvas part by editing the namespace in the Inspector.
Things Canvas checks for you
Validation runs continuously and flags the mistakes that are painful to find from inside the game:
- Buttons that do nothing, or open a form that no longer exists
- Message boxes that don't have exactly two buttons
- Value placeholders pointing at a field you deleted
- Dropdowns with no options and sliders whose range is backwards
- Forms nothing can reach
- DDUI-only features used on the stable profile
- Two forms whose names generate the same identifier
Warnings never block an export — a project you're halfway through is half-wired by definition.
Keyboard shortcuts
| Key | Does |
|---|---|
Ctrl/Cmd + Z |
Undo |
Ctrl/Cmd + Shift + Z |
Redo |
Ctrl/Cmd + S |
Save the project |
Ctrl/Cmd + Enter |
Toggle play mode |
Escape |
Leave play mode |
Delete |
Delete the selected element |
Ctrl/Cmd + D |
Duplicate the selected element |
↑ / ↓ |
Select the element above or below |
Alt + ↑ / Alt + ↓ |
Move the selected element |
Not affiliated with Mojang
Canvas is an independent project. Not approved by or associated with Mojang Studios or Microsoft. Minecraft is a trademark of Mojang Synergies AB.
Canvas