Host a Codex project as a live URL.
NudgeHost turns the build of a Codex project into a public link, free for a site of up to 25MB and 200 files, and anyone can open it without a ChatGPT account. Codex leaves the files on your computer or in a pull request, and the built folder is what goes up.
- 25MBa file on the free plan
- 10 linkslive at once, free
- No capon visitors, on any plan
What they see
Your Codex build, live before it merges.
The built app goes live at its own nudgehost.site address. Send the link and it opens like any website, with no NudgeHost header around it. An app uploaded without an account carries a small NudgeHost bar along the bottom until you claim it with a free account.
- Its own nudgehost.site address
- A link to paste into the pull request
- No ChatGPT account needed to open it
How it works
From Codex to a live link in three steps.
Build and drop the ZIP
Work from the Codex CLI is already in your project folder, and a cloud task's branch can be checked out from its pull request. Ask Codex to run the build, or run npm run build, then zip the folder it writes and drag it onto the uploader. Signed out, the ZIP can be up to 25MB, and you can keep 3 links live at a time.
Copy the app's address
NudgeHost unpacks the build and the app goes live at its own address. Name the link in the upload card first and it reads like sprint-14.nudgehost.site.
Paste it into the pull request
Reviewers click through the change before it merges. Whoever opens it needs no ChatGPT account and no NudgeHost one.
After you send it
Keep the link through every review round.
Most of this is on the free plan. The detail behind each visit comes with Pro, and custom domains with Pro and Studio.
Upload each build over the last
The address, the view count and any password or end date stay the same, so a reviewer with the link always sees the latest build.
See how often it's visited
Free accounts see how many times the app was visited. Pro adds the time and country of each visit, with a CSV export.
Put it on your own domain
Connect an address on a domain you own, such as www.yourname.com, 1 on Pro or 5 on Studio. The app there can be found in Google like any other website, while its nudgehost.site address stays out of search.
Plans
What your app gets on each plan.
| Without an account | Free | Pro | Studio | |
|---|---|---|---|---|
| Largest ZIP served as a site | 25MB | 25MB | 100MB | 100MB |
| Largest site once unpacked | 25MB | 25MB | 250MB | 1GB |
| Links live at once | 3 | 10 | Unlimited | Unlimited |
| How long a link lasts | 7 days | Until you delete it | Until you delete it | Until you delete it |
| Open tracking | Not included | Open counts | Time and country of each open, CSV export | Same as Pro |
| Password protection | Not included | Not included | Yes | Yes |
| Custom domains | Not included | Not included | 1 | 5 |
| Price | $0 | $0 | $12 a month | $29 a month |
QR codes, end dates and replacing a site work on every account plan. A site uploaded without an account shows a small NudgeHost bar along the bottom of each page until you claim it with a free account.
Compared
NudgeHost and OpenAI's Sites, for a Codex project.
Sites is OpenAI's own hosting for what ChatGPT builds. Each of its cells comes from OpenAI's docs.
| NudgeHost | OpenAI Sites | |
|---|---|---|
| Runs server code and a database | No, it serves files only | Yes, with D1 database and R2 storage bindings |
| Plans that include it | Every plan, including free | ChatGPT Plus, Pro, Business, Enterprise and Edu |
| Who can open a new link | Anyone with the link | The owner and workspace admins, until access is changed |
| Custom domains | 1 on Pro, 5 on Studio | Where available, and not in Enterprise workspaces at launch |
Sites was in public beta when its docs were read. If the app needs a server or a database, it can't be hosted on NudgeHost, and Sites or another server host is the place for it.
Read on 13 October 2026 from OpenAI's own docs. OpenAI Sites, the Sites docs.
Builds and links
What a Codex project needs to run here.
The Codex CLI edits the files in your project folder, and a cloud task ends with a commit or a pull request on GitHub. Either way you hold source code, and a reviewer can't click through source. Build it, zip the output folder, and the app goes live as a site at its own subdomain.
OpenAI also runs Sites, a hosting feature for ChatGPT Plus, Pro, Business, Enterprise and Edu plans, which was in public beta when we read its docs in October 2026. It runs server code and databases, which NudgeHost does not. For a front end that builds to a static site, NudgeHost works on the free plan, and nobody who opens the link needs a ChatGPT account.
Codex can also write one self-contained page. That kind of output goes up the same way as a page ChatGPT wrote, with no build and no ZIP.
Guides
More builds that go up the same way.
Frequently asked questions
Does Codex host websites?
OpenAI runs Sites, which hosts sites and web apps built in ChatGPT. Its docs describe it as a public beta for Plus, Pro, Business, Enterprise and Edu plans, and a new Site is visible only to its owner and workspace admins until you change who can open it. NudgeHost is a separate host for the static build, on any plan including free.
When should I use OpenAI's Sites instead?
When the app needs a database or server code. Sites can run both, and NudgeHost serves files only.
I ran a cloud task. How do I get the files?
OpenAI's docs say a cloud task ends with a commit or a pull request. Merge it or check out the branch on your computer, build, and upload the output folder.
Do the people I send it to need ChatGPT?
No. A NudgeHost link opens in any browser with no account of any kind.
My project has a server. Can it go on NudgeHost?
Not the server. NudgeHost serves files and runs no code, so an API, a database connection or server-rendered pages won't run. A front end that calls an API hosted somewhere else works, as long as that API accepts requests from the app's address.
Why is the page blank after upload?
Usually the ZIP held the project source rather than the build. A source index.html points at files like /src/main.tsx that the browser can't run, so nothing renders. Build the project and upload the output folder over the top.
Can Codex publish the build for me?
Yes, through NudgeHost's REST API, which every plan can use. Create an API key in your dashboard, keep it in an environment variable rather than in the project, and ask Codex to follow the three upload steps at nudgehost.com/docs/api: start an upload, send the ZIP to the address that comes back, then complete it. The reply holds the site's address. Each upload makes a new link, so to keep one address across versions, upload over it from the dashboard.
Can I update the app without changing the URL?
Yes. Build again, upload the new ZIP to the same NudgeHost link, and the URL stays the same.
Can I put it on my own domain?
Yes, on Pro (1 domain) and Studio (5 domains). Only a ZIP site can serve on a custom domain, not a single HTML file.
Will client-side routes load on a direct visit?
Yes. Any path with no file extension that isn't in the ZIP serves index.html, so the app's router can show the right screen. A missing script or image still returns a 404.
Do I zip the dist folder or what's inside it?
Either. When every file sits inside one folder, NudgeHost strips that folder, so the app serves from the root and the folder name never shows up in its addresses.
Is there a size limit?
Yes. On the free plan, the ZIP and the unpacked app both have to fit in 25MB. On Pro and Studio the ZIP can be up to 100MB, and the app it unpacks into can grow to 250MB on Pro or 1GB on Studio. A site can also hold up to 200 files.
Are any ZIPs turned away?
Two kinds. A ZIP with another ZIP inside it has to be unpacked first, and a password-protected ZIP has to be saved without its password.
Can I share it without making an account?
Yes. The app goes live straight away and lasts 7 days, and you can hold 3 links at once. Until you claim it, every page shows a small NudgeHost bar along the bottom.
What happens to a signed-out upload when I make an account?
It moves across to the account and stops expiring, as long as you're under the free plan's 10 links. The NudgeHost bar goes at the same time.
Does NudgeHost change my files?
No. The files are stored exactly as uploaded. On an app uploaded without an account, the NudgeHost bar is added to each page as it's served, and it stops the moment you claim the app.
Can I password-protect the app?
Yes, on Pro and Studio. Visitors enter the password on a NudgeHost page, then the app opens at its nudgehost.site address. A password-protected app doesn't serve on a custom domain, so pick one or the other.
Will reviewers see a new version straight away?
Yes. NudgeHost never caches the app's HTML, so the next page load serves the new build. Its other files are cached only in the visitor's own browser, for up to five minutes.
Can I choose the app's address?
Yes, including without an account. Name the link in the upload card before you drop the ZIP and the app lives at that name on nudgehost.site.
What shows when I paste the link into Slack?
Whatever the app's own title and preview tags say, because the link serves your HTML exactly as the build wrote it. Add a title and an og:image to index.html if you want a rich card.
What happens when I delete the app?
It stops serving straight away, every page and file with it, and the address returns a not-found error.
Can I put the app on a slide?
Yes. Every link on an account comes with a QR code, so a slide or a printed handout can open the app from a phone camera.
Does the app work on a phone?
It's served exactly as the build wrote it, so a layout that adapts to small screens on your computer adapts the same way on a phone.
Can I give the link an end date?
Yes, on any account plan. Set a date in the link's settings and the app stops serving after it. Visitors to its nudgehost.site address see a page saying the link has expired.
Can I host several Codex projects?
Yes. A free account holds 10 live links at once, and Pro and Studio have no cap on how many you keep live.
What happens to my custom domain if I leave Pro?
The domain stops serving shortly after the plan ends, since only a paid plan can hold one. The app itself stays live at its nudgehost.site address.
Is there a limit on how many people can open it?
No. There's no visitor cap on any plan, so a build that gets passed around keeps working.
Ready to share your file?
Free forever, no credit card needed. The whole thing takes a few seconds.