Guides  /  AI Builder Hosting

What Is ChatGPT Canvas? Where It Went and What to Use Now

August 6, 2026  ·  9 min read

Written by Andrian ·  Technical Writer, Static.app

Reviewed by Roman Frank ·  Technical Reviewer, Static.app

Canvas is probably not on your screen any more. OpenAI removed it from GPT-5.5 Instant and GPT-5.5 Thinking on May 28, 2026, and moved writing and coding into blocks that sit inside the chat itself. Whichever surface you are looking at now, turning the result into a real website is the same job: get one self-contained HTML file out of ChatGPT, name it index.html, put it in a ZIP, and upload it.

What happened to ChatGPT canvas?

Canvas was removed from ChatGPT's current models on May 28, 2026. OpenAI announced it inside a model update rather than as a feature announcement, which is why most people only find out when they go looking for the panel and nothing opens. The Model Release Notes put it plainly: "canvas will no longer be available in GPT-5.5 Instant or GPT-5.5 Thinking. Writing and coding functionality is now supported directly in chat responses through writing blocks and code blocks. Paid users can continue using canvas for a limited time through legacy models until those models are sunset."

That is not the same as retiring canvas, and it is worth being precise about the difference. OpenAI has not announced a product-wide retirement, and canvas still appears as a capability when you build a custom GPT. What changed is that the models nearly everyone uses no longer have it.

OCT 3, 2024 canvas launches MAY 28, 2026 removed from GPT-5.5 Instant and Thinking AUG 26, 2026 o3 retires from ChatGPT canvas on legacy models, paid accounts only CANVAS RUNS OUT WITH THE MODELS, NOT ON A DATE
OpenAI never published an end date for canvas. It tied what is left of it to the legacy models that still carry it, so the feature expires model by model rather than all at once, and o3 leaving on August 26, 2026 takes another piece of it with them.

Where canvas still works, and for how long

On a paid account, canvas is reachable only through legacy models, and OpenAI tied its remaining life to those models rather than naming an end date for the feature. The clock is a model retirement schedule: o3 leaves ChatGPT on August 26, 2026 after a 90-day sunset period. Check your own model settings to see what is still offered to your account, because availability moves by plan and rollout.

Why you cannot find OpenAI's canvas help page

Because it is gone. OpenAI's standalone canvas article returns a 404 at its full address, at its bare article ID, and in every language we checked on August 6, 2026. It was still live on July 20. Meanwhile OpenAI's own Capabilities Overview still describes canvas in the present tense and links to that dead page, so the documentation currently disagrees with itself. Keep that in mind while reading anything about canvas written before June 2026, which is most of what search engines will hand you.

What replaced it: writing blocks and code blocks

Writing and code now arrive as blocks inside the response itself. A code block carries the language label, a copy action, editing on supported blocks, a full screen view, and a switch between Code and Preview where a preview is supported. OpenAI notes that available actions vary by plan, device, workspace settings, model, and rollout, so your block may offer fewer of them than someone else's.

The real difference from canvas is what holds still. Canvas kept your document in a panel beside the conversation while you talked to it. A block lives in the transcript, so it scrolls away with everything else, and a revision arrives as a new block further down rather than as an edit to the one you were reading.

THEN, CANVAS NOW, BLOCKS IN THE CHAT STAYS PUT the document stays put while you talk everything scrolls, blocks included
The loss is not the editor, it is persistence. Canvas parked your document beside the conversation, so it was always on screen. A block sits in the transcript, so it slides away as you keep talking, and each revision lands as a fresh block instead of changing the one you were reading.

What Preview will and will not show you

Preview covers HTML pages, React components, SVG images, Mermaid diagrams, and Vega or Vega-Lite charts. If Preview does not appear, that block does not support one. Run is a separate action for supported Python, so on an HTML page you will see Code and Preview and no Run at all.

Getting your page out of a block

Copy it, do not hunt for a download button. Use the copy action on the code block, paste into any plain text editor, and save the file as index.html. The download button belonged to canvas, and even there OpenAI only ever documented code exports by detected language with .py, .js and .sql as the examples. Copying is the route that works on every surface.

Ask for one self-contained file

This is the highest-leverage thing in the whole process, and you do it before ChatGPT writes anything. Ask for a single HTML file with the CSS and JavaScript inline. One block then holds the entire page, so copying it out is one action and the file works on its own. Ask for a React component instead and you get something the preview can render but a browser cannot, because nothing has compiled it.

ChatGPT Sites, the other way out

ChatGPT Sites has been in public beta since July 9, 2026, and it builds and hosts a website from a prompt. It deserves to be taken seriously here: it publishes for you, and it does support custom domains, which several recently updated comparison articles still claim it does not. You add one from the Site settings under "Add domain", and you have to own the domain already, because Sites does not register one for you.

A Site is not a folder of files

A Site runs on a managed runtime, with optional bindings for a relational database and for object storage. That is what makes it different in kind from a page you upload. A simple brochure page is reproducible in principle, but a Site that uses storage or sign-in is not something you can reconstruct by saving what you see in a browser.

You own the code, but you may not have a copy

OpenAI's Sites terms are clear that the website content, code included, is yours, and they also grant OpenAI an irrevocable licence to host and reproduce it. Neither of those hands you a copy of the files. As of August 6, 2026, OpenAI documents no way to export a Site's code. The docs name every other action precisely, including Analytics, Settings, Add domain and Permanently delete, and describe no export, download or view-source path anywhere. That is a statement about the documentation rather than a claim that we opened every menu in the product, but it is the state of the record.

The limits worth reading before you publish something that matters

  • Not available on ChatGPT Free or Go. If you are on either, Sites is not an option for you at all.
  • Traffic is a failure mode. Beta usage limits apply across your Sites, and OpenAI says reaching one may leave you unable to keep a high-usage Site publicly available until usage is reduced. No numbers are published for any limit.
  • Every deployment URL is a production URL. There is no staging step between you and your visitors.
  • Deletion is permanent and is confirmed by typing the Site slug, with no restore afterwards.
  • OpenAI reserves the right to unpublish a Site at any time.
  • Availability has moved since launch. Region and plan rules have changed during the beta, so check the current help article against your own account rather than trusting any article, this one included.

When ChatGPT's own hosting is the right answer

Sometimes it is, and pretending otherwise would not help you. Use ChatGPT Sites when you are on an eligible paid plan and want the thing live straight from a prompt with no files involved, or when the project genuinely needs a backend: a database, uploaded files, or sign-in. Static.app is static hosting and cannot run any of that, so if that is what you need, we are the wrong answer.

IN CHATGPT Copy the block one action index.html on your disk ZIP upload to your host your URL static.domains the file is on your disk from step two onward YOU HOLD IT OPENAI DOES Describe it no files Site on OpenAI's managed runtime their URL .chatgpt.site no documented export ONE PATH LEAVES YOU HOLDING THE FILE
Both paths end in a working website, so the difference is not quality, it is where the file lives. Copy a block and you own a file before anything is hosted. Build a Site and the code stays on OpenAI's side, with no documented way back across that line, which is why this guide can help you publish a block but not move a Site.

Host it yourself when one of these is true:

  • You are on ChatGPT Free or Go. Sites is not available to you, so the question is not which host is better, it is that you have a code block and nowhere to put it.
  • Your page is static, which most AI-generated pages are: a portfolio, a landing page, a menu, a resume, a one-pager. There is nothing to run, so a managed runtime buys you nothing.
  • You want the files. A page copied out of a block is on your disk before it is hosted anywhere, and it stays there.
  • You do not want traffic to be the thing that takes your page down.

One thing this guide cannot help you do: move an existing ChatGPT Site here. You can host a page you built in a block, because you have the file. A Site you already deployed would have to be rebuilt from the prompt, and calling that a migration would be dishonest.

How to publish your page on Static.app

  1. Save the copied code as index.html. Any plain text editor will do.
  2. Check that it stands up on its own by pasting it into the free HTML viewer. What you see there is much closer to what a visitor gets than the preview inside ChatGPT.
  3. Put the file in a ZIP, along with any CSS, JavaScript or images it needs, keeping index.html at the top level. The uploader takes a ZIP, so zip the file even when it is the only one.
  4. Drag the ZIP onto Static.app ChatGPT hosting and create the account it asks for as part of the upload.
  5. Your page goes live on a free subdomain in the form yoursite.static.domains, with an SSL certificate.

A new account opens on a 7-day trial covering one website and 50 MB of storage, with no credit card asked for. Publishing after the trial ends needs a paid plan, so check pricing before you build anything you depend on. If you want the upload walked through in more detail, how to host a static HTML file covers it step by step.

Connecting your own domain

A custom domain takes two DNS records and a paid plan. Add the domain in your dashboard, then create both the A record and the TXT record it shows you. Both have to validate before the certificate is issued, so an A record on its own will leave the domain stuck. If your DNS is on Cloudflare, turn the proxy off for the A record.

Why your published page looks blank

Nearly always because the preview inside ChatGPT was quietly supplying something your file does not carry. The preview renders in a sandbox with its own conveniences, while a static host serves exactly the bytes you uploaded and nothing else. The usual causes, in the order they turn up:

  • JSX or a React component with nothing to compile it. A browser cannot read JSX. Ask for plain HTML, CSS and JavaScript instead, or add a build step.
  • Imports of packages that only resolved inside the sandbox.
  • Script tags pointing at a CDN that is missing, blocked, or serving a different version than the preview used.
  • Image paths pointing at files that never existed outside the chat. Put the real image files in the ZIP next to your HTML.
  • Calls to an API that needs a key or a server behind it. A static host has no backend to answer them.
IN THE CHATGPT PREVIEW ON YOUR HOST SANDBOX SUPPLIES JSX build packages CDN images same file Uncaught ReferenceError your file, and nothing else THE PREVIEW LENDS YOU THINGS YOUR FILE DOES NOT OWN
A blank page is almost never a hosting fault. The preview is a sandbox with conveniences: it compiles JSX, resolves packages and reaches the network on your behalf. A static host serves exactly the bytes you uploaded, so whatever the sandbox was lending you has to be in the file itself.

Open your browser's developer console on the live page before you change anything. A blank page almost always has an error sitting there naming the exact file it could not load.

Common questions

The four answers below cover turning canvas back on, whether Sites replaced it, what survives once your page leaves ChatGPT, and how all this compares to doing the same thing with Claude.

How do I turn canvas back on?

You cannot, on GPT-5.5 Instant or GPT-5.5 Thinking. OpenAI removed it from both on May 28, 2026 and there is no setting that brings it back. On a paid account you may still reach canvas through a legacy model in your model settings, for as long as those models are around, and o3 goes on August 26, 2026.

Did ChatGPT Sites replace canvas?

No, and OpenAI has never connected the two in writing. The release note that removed canvas names writing blocks and code blocks as the replacement and does not mention Sites at all. Sites arrived six weeks later as a separate product in beta. They solve different problems, and reading Sites as canvas's successor will lead you to the wrong tool.

Will my page still work once I copy it out?

Anything that runs in the browser keeps working: HTML, CSS and client-side JavaScript. Anything that needed a server, a database or a sign-in will not, because a static host has nothing behind it to answer. If you built a page in a block and it previewed as an ordinary web page, it will almost certainly be fine.

Is this the same as hosting a Claude artifact?

The hosting half is identical, and the export half is easier on Claude's side, because Claude publishes an artifact to a public link that can be imported directly. Claude also kept the side panel that ChatGPT retired. If you work in both, see what Claude artifacts are and how to host a Claude artifact.

Ready to try it?

Host your ChatGPT page free

Back to all guides