Skip to main content

ChatGPT Canvas: A Guide With Examples

Learn how to use OpenAI's ChatGPT Canvas to collaborate with ChatGPT on writing and coding tasks.
Dec 10, 2024  · 8 min read

It’s day four of the “12 Days of OpenAI” event, and OpenAI has just announced some major updates to a feature they introduced earlier this year: ChatGPT Canvas.

In this blog, I’ll walk you through what ChatGPT Canvas is, explain step-by-step how to use it, and show you through examples how to make the most of it.

What Is ChatGPT Canvas?

Imagine collaborating with ChatGPT on a blog post or a Python script in a more dynamic way. Instead of using the traditional chat interface and piecing together the final output from multiple responses, you work directly in an editor. This is ChatGPT Canvas.

While the standard ChatGPT interface is effective for generating ideas, it can be limiting for tasks that require iterative editing and collaboration. Transforming those ideas into polished content often requires switching between different tools, which can disrupt the creative process.

Canvas provides an interface within ChatGPT designed for enhanced writing and coding workflows. It bridges the gap between chat and content creation, making it easier to organize and iterate on ideas without leaving the conversation.

ChatGPT Canvas interface. The left hand side has the GPT interface and the right hand side has the editor.

The right part is a text editor and the left part is a chat interface that allows us to ask ChatGPT to make changes in the document, effectively functioning as an AI collaborator to help refine and polish our ideas.

Key Features of ChatGPT Canvas

  • Targeted editing: We can highlight specific sections for AI assistance, making it easy to refine paragraphs, expand ideas, or add details.
  • Inline feedback: Canvas can provide Inline suggestions and feedback as human collaborators do when working together on a document.
  • Text length: We can ask to shorten or expand the text.
  • Reading level: We can specify a reading level from kindergarten to graduate level, making it easy to adjust the language to our target audience.
  • Debug code: Canvas can help us identify and fix bugs in the code.
  • Version history: Canvas includes version history, allowing us to restore previous versions of their work and ensuring that no idea is lost.

Your Introduction to ChatGPT

Enhance your capabilities with ChatGPT—no experience needed.
Get Started for Free

How to Use ChatGPT Canvas

Currently, ChatGPT Canvas is available only on the Web and Windows (Mac users can access Canvas through their browser but not via the desktop app). Support for the Mac desktop app and mobile platforms (iOS, Android, and mobile web) is coming soon.

To use ChatGPT Canvas:

  1. Go to chatgpt.com.
  2. Select the "GPT-4o with canvas" option in the model dropdown located in the top left corner (note that you’ll need a subscription to use Canvas).

How to find ChatGPT Canvas in the ChatGPT interface

The interface is initially the same as the traditional chat interface. After providing a prompt, the editor will open, and it will be populated with the content generated from the first prompt.

In some situations, the Canvas interface won't trigger automatically. In these cases, we can manually activate it using the "use canvas" prompt.

The initial prompt will determine whether we are working on text content, such as a blog, or working on code. The interface and available commands will be different in each case.

Let’s start by exploring the two main ways we can interact with ChatGPT Canvas (these are available in both text and code mode).

  1. Select text on the editor side (right-hand side). This will show a prompt pop-up where we can request changes to the selected section.

Selecting text to edit in ChatGPT canvas.

  1. Use the chat interface on the left. We can use it to submit a prompt requesting specific changes.

Using chat to edit the document in ChatGPT canvas.

Versioning and exporting

ChatGPT Canvas keeps track of the changes we make. We can easily move between different versions using the arrows in the top right corner (these buttons will only appear after ChatGPT generates the second version).

Version and export controls of ChatGPT canvas.

The first button can be used to show the difference between the current version and the last version.

Seeing the diff in ChatGPT canvas.

I find this very useful for understanding what the commands do and learning how to improve my writing by seeing the improvements added by ChatGPT.

The last button exports the content. It’s still rudimentary and simply allows us to copy it, which we then have to manually paste wherever we need to.

Text specific tools

When ChatGPT determines that the original prompt requests writing a text document, it will open the Canvas editor in text mode. Content with mixed text and code sections will also have this interface.

For example, the text examples shown in this article use the following initial prompt:

“Help me write an article introducing pandas Dataframes.”

The specific editing tools are located in the bottom right corner. When working on a text document, we get the following tools:

Text specific tools with ChatGPT Canvas

  • Add emojis: Adds emojis to the text where appropriate. In my opinion, it’s more of a gimmick than something we’ll actually use.
  • Add final polish: Reviews the whole document and gives it a final touch to make it ready for delivery. It fixes typos, formatting, and structure.
  • Reading level: Adjusts the reading level of the document from kindergarten level to graduate level. This is quite useful to ensure that our content is written in a language that’s adapted to our target audience.
  • Adjust the length: Adjusts the length of the text by either condensing it by summarizing some parts of it or extending it by going into more details.
  • Suggest edits: Suggests edits but doesn’t apply them automatically. Each suggestion will highlight the text and show the suggestion next to it, similarly to other collaborative text editors. We can either incorporate or ignore each suggestion in the document.

ChatGPT canvas suggetions are left with comments

  • Paragraph Edit: Once in “suggests edit” mode, ChatGPT will identify the paragraphs in the text. Moving the cursor on top of a paragraph shows a button that we can use to prompt an edit to that specific paragraph.

Editing a paragraph with ChatGPT canvas.

When we click on one of the commands, it is not executed immediately. The icon will change to an arrow, and we need to click it again to execute it.

Confirming a command on ChatGPT canvas

As we use these tools, keeping an eye on the chat window is important because ChatGPT will explain the changes it made there. This makes it easy to get a quick understanding of what was modified. Another way to see the changes is to use the diff button on the top right corner we mentioned above.

Code specific tools

When the initial prompt is about writing a script, ChatGPT Canvas will open a code editor instead of the text editor. To test this, we can use the following prompt:

“Write a Python script that reads and analyzes a CSV using pandas.”

We can identify that we are in the code editor mode by the line numbers on the editor. In this case, we get the following tools:

Code specific tools.

  • Add comments: Adds relevant comments to the code for better understanding.
  • Add logs: Adds print statements that display the value of variables that ChatGPT finds relevant. 
  • Fix bugs: Tries to identify and fix bugs.
  • Port to a language: Converts the code into another language.
  • Code review: Reviews the code and adds suggestions on the side.

Code review example with ChatGPT canvas.

On the newest version of ChatGPT Canvas, we can run Python code directly within the Canvas.

Run Python code in Canvas

Training GPT-4o for Collaboration: Behind the Scenes

To train GPT-4o to function effectively as a collaborative partner within the Canvas interface, OpenAI's research team focused on developing several core behaviors:

  • Triggering the Canvas for both writing and coding tasks.
  • Generating diverse content types to meet user needs.
  • Making targeted edits to specific sections of text or code.
  • Rewriting entire documents when necessary.
  • Providing inline critique to offer specific feedback and suggestions.

This training involved using novel synthetic data generation techniques, including distilling outputs from other OpenAI models, such as the o1 model. This approach enabled rapid improvement in writing quality and user interactions without relying on human-generated data.

Evaluation and challenges

OpenAI utilized over twenty automated internal evaluations to measure progress.  However, certain aspects, such as comment quality, required human evaluation due to the difficulty of automated assessment.  

Training presented several challenges:

  • Defining when to trigger the Canvas, ensuring it opens for appropriate tasks while avoiding over-triggering.  
  • Tuning the model's editing behavior, specifically determining when to make targeted edits versus rewriting entire content.
  • Generating high-quality comments required careful iteration and human evaluation.

Conclusion

Before ChatGPT Canvas, using ChatGPT to work on a document or piece of code required constantly switching between the editor and ChatGPT, copying the changes proposed with each chat message. We couldn't work on the whole document at once, and ChatGPT didn't easily have the full context of what we were working on or the ability to make changes directly.

ChatGPT Canvas makes it much easier to collaborate with ChatGPT while writing content or code. For writing content, such as a blog post, it is quite powerful.

However, as a software engineer, I still feel it's too limited for writing code involving larger projects. Solutions like Cursor AI, which integrate directly with the code editor, are much more effective because they have context about the entire codebase. I would only use ChatGPT Canvas for writing isolated scripts or functions that don't depend on other code.


François Aubry's photo
Author
François Aubry
LinkedIn
Teaching has always been my passion. From my early days as a student, I eagerly sought out opportunities to tutor and assist other students. This passion led me to pursue a PhD, where I also served as a teaching assistant to support my academic endeavors. During those years, I found immense fulfillment in the traditional classroom setting, fostering connections and facilitating learning. However, with the advent of online learning platforms, I recognized the transformative potential of digital education. In fact, I was actively involved in the development of one such platform at our university. I am deeply committed to integrating traditional teaching principles with innovative digital methodologies. My passion is to create courses that are not only engaging and informative but also accessible to learners in this digital age.

Earn a Top AI Certification

Demonstrate you can effectively and responsibly use AI.
Topics

Learn AI with these courses!

track

AI Fundamentals

10hrs hr
Discover the fundamentals of AI, dive into models like ChatGPT, and decode generative AI secrets to navigate the dynamic AI landscape.
See DetailsRight Arrow
Start Course
See MoreRight Arrow
Related

blog

ChatGPT Search: A Guide With Examples

Learn how to use ChatGPT Search for various query types (informational, navigational, commercial, and transactional) and explore all its features.
Dr Ana Rojo-Echeburúa's photo

Dr Ana Rojo-Echeburúa

8 min

Scott Downes- DataFramed.png

podcast

ChatGPT and How Generative AI is Augmenting Workflows

Join in for a discussion on ChatGPT, GPT-3, and their use cases for working with text, helping companies scale their operations, and much more.
Richie Cotton's photo

Richie Cotton

48 min

cheat-sheet

ChatGPT Cheat Sheet for Data Science

In this cheat sheet, gain access to 60+ ChatGPT prompts for data science tasks.

tutorial

A Beginner's Guide to Using the ChatGPT API

This guide walks you through the basics of the ChatGPT API, demonstrating its potential in natural language processing and AI-driven communication.
Moez Ali's photo

Moez Ali

11 min

tutorial

A Guide to Using ChatGPT For Data Science Projects

Learn how to use ChatGPT in a real-life end-to-end data science project. We will use it for project planning, data analysis, data preprocessing, model selection, hyperparameter tuning, developing a web app, and deploying it on the Spaces.
Abid Ali Awan's photo

Abid Ali Awan

17 min

code-along

Getting Started with the OpenAI API and ChatGPT

Get an introduction to the OpenAI API and the GPT-3 model.
Richie Cotton's photo

Richie Cotton

See MoreSee More