Guide · July 21, 2026 · 10 min read
Publish the Website Claude Built You — No GitHub, No Vercel
You asked Claude for a landing page, it looks great in the preview, and now you're stuck on the one step nobody explains: getting it to a real URL you can send someone. Every guide assumes you already know what a "repo" or a "build command" is. You don't, and for one page you shouldn't have to.
Here's how to publish a website Claude built you — no GitHub, no terminal, nothing to install. Start with Cloudflare Pages or Netlify Drop for a real public website; the other options below cover narrower cases. For each one: the exact clicks, and the traps that make people think they broke something when they didn't.
I have the HTML Claude gave me — now what?
First figure out what you're actually holding, because it decides everything else. Three cases:
1. A single .html file. The usual output for a landing page — styling, scripts, often the images, all baked into one file. This is the simplest case: upload one file to a host.
2. A folder of files — index.html plus style.css, maybe script.js, and an images/ or assets/ folder. Bigger builds do this. The number-one beginner mistake lives here: uploading only index.html and getting a live page that's an unstyled, image-less mess. Upload the whole folder together, and the homepage file must be named exactly index.html — lowercase.
3. A Claude Artifact still in the chat — you haven't downloaded anything. There's a shortcut here, covered at the end of the options.
To tell which you have, open the file in any text editor. If the <style> and <script> are right there in the file and you see no <link href="style.css"> or <img src="images/hero.jpg"> pointing at separate files, it's the easy single-file case. If you see references to other files, it's a folder and all of it travels together.
Do I need GitHub, a terminal, or a domain?
No, no, and not to start.
You don't need GitHub. You don't need to type a single command. And you don't need to own a domain to get a working, shareable, HTTPS link — every option below hands you a free URL on their domain. You can connect a custom domain later.
The tutorials sending you in circles describe the developer workflow. That's genuinely worth it if you'll be editing code every week. For "I have one page and I want it online," it's overkill. Skip it.
What are my actual options?
Real public hosts first, because that's the job most people here have.
Method 1 — Drag-and-drop hosts (start here)
No git, no terminal, and you can start without even an account.
- Cloudflare Pages direct upload — in the dashboard, go to Workers & Pages and drag your files in. You get a
project.pages.devaddress, free HTTPS, free custom domains, and unlimited bandwidth on the free plan — its standout feature. Real limits: direct upload caps at 1,000 files and 25 MiB per file (irrelevant for one page, matters for a heavy asset folder). One gotcha worth knowing upfront: a project created by direct upload can't later be switched to auto-deploy from Git — you'd make a new project. For most people here that never comes up.
- Netlify Drop — drag your file or folder onto the page, get an instant
random-name.netlify.appURL with free HTTPS and free custom domains. The free plan has usage limits — check the current numbers on Netlify's pricing page before you lean on it for anything heavy. The trap: a fresh drop is anonymous. Close the tab without signing up and "claiming" the site and you can't manage or update it — it's out of your hands. Claim it right away.
- Tiiny.host — arguably the most non-technical of all: drag a single HTML file (or a zip), get a
*.tiiny.sitelink. Free tier exists, but password protection and custom domains are paid. The "simplest possible thing, and I'll pay a few dollars for a password or domain" option.
- Neocities — free static hosting, drag-and-drop, friendly community. Great for a personal or hobby page on a subdomain.
Method 2 — GitHub Pages in the browser (no terminal, but not jargon-free)
You can do this without touching git: make a GitHub account, create a new public repo, use the web "Add file → Upload files" button, then Settings → Pages and set the source branch. Your site lands at username.github.io/repo, free, with free custom domains and HTTPS.
Honest take: this is the most conceptually heavy of the beginner paths — repos, branches, a Settings toggle — and it has a famous trap. GitHub Pages URLs are case-sensitive. If your file is Logo.PNG but the HTML says logo.png, it works on your laptop and 404s once live. That's the classic "why are my images broken online but fine locally?" A deploy also takes a minute to appear, which feels broken when it isn't. Wait before you panic.
Method 3 — Vercel and the CLI/git world (the path you were escaping)
Vercel's current getting-started is command-line first (npm i vercel, vercel login, vercel) or connect a GitHub repo in the dashboard — it assumes Node 18+ and either a terminal or a repo. The free Hobby tier and free custom domains are real and good. But plainly: Vercel and Netlify's git integrations shine when you'll keep editing in a developer workflow. For one HTML file, this is exactly the machinery that's been sending you in circles. Skip it unless you know you want it. (Vercel's old drag-and-drop deploy is effectively gone — don't go hunting for it.)
Quick preview only — share the Claude Artifact
If the page is still a Claude Artifact and you just want to show someone fast, Claude's own share/publish button gives you a claude.ai URL in seconds, zero tools. But know what it is before you send it: the link is public — anyone who has it can open the page — and it may carry some Claude branding. Artifacts are for prototypes, not production sites: third-party API calls and persistent storage are unavailable, and the page stays on Claude's infrastructure. Fine for "let me show a friend this thing I made," wrong for "this is my business's homepage." (Claude's buttons move around over time, so look for the share/publish control, not a specific spot.)
Which one fits you?
| Option | Account? | Terminal/git? | Free public URL | Free custom domain | Private / password | View tracking | Best for |
|---|---|---|---|---|---|---|---|
| Cloudflare Pages | Yes | No | Yes | Yes (unlimited bandwidth) | Needs setup | No | Best free public site on your domain |
| Netlify Drop | Not to start | No | Yes | Yes | Paid/limited | No | Non-dev drag-drop, keep & edit |
| GitHub Pages | Yes | No (browser) | Yes | Yes | No | No | Free public, if repos don't scare you |
| Vercel | Yes | Yes | Yes | Yes | Paid | No | Ongoing developer workflow |
| Tiiny.host | Light | No | Yes | Paid | Paid | No | Absolute simplest, will pay a little |
| Publish Artifact in Claude | Just Claude | No | Yes (claude.ai) | No | No — anyone with the link | No | Instant throwaway share |
| Pagelive | Yes (or via Claude) | No | Yes | Paid | Yes (default private + password) | Yes | Private/tracked sends |
For most people who want a normal public website that search engines are allowed to index, on their own domain, for free: Cloudflare Pages or Netlify Drop. That's the honest first pick. Publishing alone does not guarantee a Google listing, though — submit the domain through Google Search Console if discovery matters.
One situation the free public hosts don't cover, worth naming because it's a different job: you're not publishing a public marketing site — you're sending a page to specific people. A proposal, a client one-pager, a portfolio for a recruiter, a pitch. You'd like it private or password-protected, and you'd genuinely like to know whether and when it got opened, for how long, and from which country. The static hosts give you none of that. That's the slot Pagelive fills: pages are private and non-indexed by default, you can password-protect them, and views are tracked — whether and when the link opened, how long the viewer stayed, and top countries. The free tier publishes up to 5 pages with no credit card; a custom domain is a paid upgrade.
And where it's the wrong pick: if you want a public site that ranks in Google on your own domain for free with unlimited bandwidth, that's Cloudflare Pages — Pagelive is built around tracked private links, not being your SEO homepage. For a quick "show a friend" link where Claude branding is fine, just share the Artifact. Match the tool to the job you actually have.
How do I edit the text and images after downloading?
Two honest answers, and the second is the one most people here want.
1. Edit the file directly. Open the .html in a free plain-text code editor — VS Code is standard, but Notepad (Windows) or TextEdit in plain text mode (Mac) works. Never use Word or Google Docs — a word processor silently corrupts the markup. Change the visible words between the tags. For images, find <img src="...">: if the src points at a file (images/hero.jpg), swap the file or fix the path; if it's a giant data:image/...;base64,... blob, the image is embedded in the file and painful to change by hand. Re-upload when done.
2. Just ask Claude to change it and re-download. For a non-coder this is the better loop, not a cop-out: "make the headline say X, swap the hero image, change the button color," then download and re-upload. Iterating in the chat is faster and far less error-prone than hand-editing HTML you don't read. The only cost is re-uploading — trivial on drag-and-drop hosts. To keep the same URL, replace the files in the site you already have rather than making a new one: once you've claimed the Netlify site or created a named Cloudflare Pages project, upload the replacement to that same project; in Pagelive, update the existing page instead of publishing a new one.
How do I put it on my own domain?
A custom domain is optional. If you want one, the shape is the same everywhere — learn it once:
- Buy a domain — registration usually costs about $10–15/year for a
.com. Cloudflare Registrar sells at cost with no markup; Namecheap and Porkbun are fine too. The hosts above offer free plans (with usage limits), so the domain is typically the only cost. - Add the domain in your host's dashboard first — before you touch any DNS. Order matters.
- Point DNS. For
www, the host will usually give you a CNAME target (e.g.your-project.pages.dev) to add at your registrar. For the bare/apex domain (example.com), follow that host's exact dashboard instructions — Cloudflare Pages, for instance, requires the domain to be an active Cloudflare zone. Cloudflare's docs warn specifically: register the domain in the dashboard first — a manually added CNAME without that step fails with error 522. - Wait for SSL. The HTTPS certificate provisions automatically but can take minutes to an hour. A "not secure" warning right after setup is almost always the cert still catching up, not a mistake. Also pick www vs non-www and set a redirect so both resolve.
Why isn't it working?
Nearly every "it's broken" is one of these:
- Styling and images missing when live → you uploaded only
index.html. Upload the whole folder. - 404 or a file listing instead of your page → the homepage isn't named exactly
index.html. - Images fine locally, 404 when hosted → case-sensitive paths (
Logo.PNGvslogo.png), especially on GitHub Pages. - Perfect from your computer, breaks once hosted → it's pulling from external/CDN resources or using absolute local file paths.
- Your Netlify Drop site vanished from your account → you never claimed the anonymous deploy.
- Cloudflare project won't switch to Git deploys → direct-upload projects can't; make a new one.
- Custom domain "not secure" for the first hour → the SSL cert is still provisioning. Wait.
- A font or API call in a Claude Artifact does nothing → Artifacts can't make third-party API calls. Move the page to a real host if you need that.
The takeaway
You're not missing a secret dev step — the last 10% just got wrapped in jargon written for someone else's problem. Want a normal public site on your own domain for free? Drag your file onto Cloudflare Pages or Netlify Drop and you're done in minutes. Sending it to specific people and want to know whether and when it got opened? That's a different tool. Still in Claude and just showing a friend? The fastest link is the one Claude hands you directly. Pick the one that matches what you're actually trying to do, and stop reading tutorials aimed at developers.
Frequently asked
Do I need GitHub or a terminal to publish a website Claude built? +
No. Drag-and-drop hosts like Cloudflare Pages and Netlify Drop give you a live HTTPS link with no git, no command line, and nothing to install. Every host hands you a free URL on their domain to start, so you don't need to own a domain either.
What's the best free host for a Claude-built website? +
For a normal public site on your own domain, Cloudflare Pages (unlimited bandwidth on the free plan) or Netlify Drop. Both take a single file or a folder by drag-and-drop and add free HTTPS automatically.
Why are my images broken after publishing but fine on my computer? +
Usually case-sensitivity or a missing file. Live hosts are case-sensitive, so Logo.PNG and logo.png are different files. And if Claude gave you a folder, you must upload the whole folder, with the homepage named exactly index.html in lowercase.
Is a published Claude Artifact private? +
No. A published Artifact link is public — anyone who has it can open the page, and there is no password or noindex control. It's fine for a quick throwaway share, not for anything sensitive or client-facing.
Can I keep a Claude-built page private or see who opened it? +
Not on a plain public host. If you need the page unlisted, password-protected, and view-tracked, use a private-by-default page host like Pagelive. For a public site you want Google to find, Cloudflare Pages or Netlify is the better free pick.
Related: share a Claude artifact privately · how Pagelive works
Built it with Claude? Send it as a private, tracked link.
Drop in the HTML, get a private branded link with an optional password — off Google by default, and you'll see when someone opens it. Free for 5 pages, no card.