Canvas types
You can create three types of canvas:| Type | Best for | Features |
|---|---|---|
| Text | Essays, emails, reports, documentation, and other written content | Markdown support, diff view, version history, direct editing, polish tool |
| Code | Python scripts, JavaScript, TypeScript, and other code files | Syntax highlighting, Python execution (via Pyodide), version history, console output |
| Sheet | Data tables, datasets, and CSV files | Spreadsheet editor, CSV export, data visualization via Python |
Creating a canvas
When you ask the AI to create something substantial, it automatically creates a canvas with the appropriate type. You can also request specific types:- Text documents: “Write a professional email about…” or “Draft an essay on…”
- Code: “Create a Python script that…” or “Write a React component for…”
- Spreadsheets: “Create a spreadsheet with…” or “Build a data table for…”
createTextDocumentfor markdown text contentcreateCodeDocumentfor code files (filename determines syntax highlighting)createSheetDocumentfor CSV-format spreadsheets
Editing documents
Direct editing
Click into any canvas to edit directly. Changes auto-save after you stop typing.AI-assisted editing
Ask the AI to make changes and it will update the document:- “Make this code more concise”
- “Fix the typos in this email”
- “Add a column for timestamps”
Version history
Every change creates a new version. Navigate between versions using the controls in the canvas header:- Undo (left arrow): View the previous version
- Redo (right arrow): View the next version
Diff view (text only)
Text documents support a diff view that highlights additions and deletions between consecutive versions. Toggle diff view using the history icon in the canvas header.Canvas toolbar
A floating toolbar appears at the bottom-right of the canvas. Each canvas type has different quick actions:Text toolbar
- Add final polish: Checks grammar, adds section titles, improves readability
Code toolbar
- Add comments: Adds explanatory comments to the code
- Add logs: Adds debug logging statements
Sheet toolbar
- Format and clean data: Cleans and formats the spreadsheet data
- Analyze and visualize: Creates a Python code canvas with data analysis and visualization
Code execution
Python code can run directly in the browser using Pyodide. Click the Run button to execute. Execution features:- Console output displays below the code editor
- Matplotlib plots render as images in the console
- Package imports are loaded automatically
- Standard library only (no external dependencies)
Canvas actions
Each canvas type has action buttons in the header:All types
- Undo/Redo: Navigate version history
- Copy: Copy content to clipboard
Text only
- View changes: Toggle diff view comparing current and previous version
Sheet only
- Copy as CSV: Exports clean CSV (removes empty rows)