// FREE TOOL · HTML FILE → LIVE LINK

HTML to website

Drop an .html file in and see it render exactly as a browser will, with the list of things that stop working the moment the file leaves your disk. Then publish it free on a real HTTPS address — two commands, no signup, and nothing on this page is uploaded anywhere.

FreeInstantNo signupRuns in your browser

Also inEnglishDeutschEspañolFrançais日本語Português (Brasil)繁體中文

index.html · pre-flight
Open a file

Drop an .html file here, or choose one. It is read locally with FileReader and never sent anywhere.

The check runs as you type. The preview redraws about a third of a second after you stop.

Fix before you publish
    Rendered here

    Rendered in a sandboxed frame with scripts allowed and no access to this page. Files you reference from your own folder do not resolve here — they will once they are deployed next to the page.

    How to turn an HTML file into a website

    The check and preview are on this page; the publishing step is two commands in your terminal or in your coding agent. Nothing here uploads your file — the checker is a script running in your own browser.

    1. Open the file. Drag your .html file onto the box, choose it with the file picker, or paste the markup. It is read locally with FileReader and rendered in a sandboxed frame, so you see exactly what a visitor would see.
    2. Clear the blockers. Every finding carries a line number. Blockers are things that behave differently once the file is served over HTTPS from a domain: references to your own disk, http:// subresources, a missing viewport or title. The checks are things worth adding before anyone links to the page.
    3. Publish it. Put the file in a folder as index.html, claim a free handle with clize claim, then run clize deploy on the folder. You get an HTTPS address in the same minute, and the folder can be redeployed as often as you like.

    What breaks when an HTML file leaves your disk

    A file opened from file:///Users/you/Desktop/page.html and the same file served from https://yourname.clize.app/ are not in the same world. The four differences below account for almost every "it looked fine locally" report, and the checker on this page finds all of them without sending your file anywhere.

    What the file doesLocalOnce it is online
    src="file:///Users/you/…" or src="/Users/you/…"Shows the imageBroken for everyone but you — the path is on your machine
    src="http://cdn…"LoadsBlocked as mixed content on an HTTPS page, with no visible error
    href="style.css", src="img/hero.png"Loads from the folderLoads only if those files were deployed alongside the page
    No <meta name="viewport">Nobody noticesEvery phone renders it at desktop width, then shrinks it to fit

    Two more the checker reports because they are invisible until it is too late: a missing <title>, which becomes the text of every link anyone ever makes to the page, and a missing og:image, which is why some links get a preview card in chat and yours does not. If you only want to look at a file rather than ship it, the HTML viewer renders the same way with three preview widths and no publishing talk.

    Two commands, and the file has a link

    Publishing is not a form. Install once, then a free handle and a deploy are one command each — the same two commands your coding agent runs when you ask it to put the page online, because they are the same CLI.

    $ npm i -g @clize/clize && clize login
          
          $ clize claim kilnhouse
          ✓ kilnhouse.clize.app is yours; the placeholder site is in place.
          
          $ clize deploy ./site --domain kilnhouse.clize.app
          {
            "host": "kilnhouse.clize.app",
            "url": "https://kilnhouse.clize.app",
            "files": 1,
            "notFound": "spa (auto)",
            "geo": { "sitemap": "…/sitemap.xml", "llms": "…/llms.txt", "robots": "…/robots.txt" }
          }

    The handle is first come, first served and belongs to you until you release it. clize deploy takes a folder, so put your file in one and name it index.html — that is the whole "single file" ceremony. Bind the folder once with clize init --handle kilnhouse and later deploys need no --domain at all. Every command is listed in the command reference.

    What free HTML hosting includes here, stated exactly

    Free means the handle, the certificate and the deploys — not a trial. Here is the whole surface, so you can decide before you type anything:

    • A real address. yourname.clize.app over HTTPS, certificate issued automatically. Point your own domain at it later without moving the files.
    • Multi-file sites, not just one page. Whatever is in the folder goes up: pages, CSS, images, fonts. One file up to 90MB, one site up to 5GB.
    • Real 404s when you want them. Ship a 404.html and unknown paths return a genuine 404; without one they fall back to index.html with a 200, which is what a single-page app wants. --not-found overrides either way.
    • Clean URLs. /about/ serves /about/index.html directly — no redirect hop. Responses are cached publicly for five minutes.
    • A machine-readable surface, generated for you. Every deploy answers /sitemap.xml, /llms.txt and /robots.txt from the file list; ship your own files with those names and yours win.
    • An inbox on the same name, if you want one. clize claim yourname --email also opens support@yourname.clize.app for incoming mail.

    What it is not: there is no visual editor, and there is no branded interstitial in front of your page. You write or generate the HTML — by hand, or by asking the agent you already use — and the deploy publishes exactly those bytes.

    Hosting a single HTML file, step by step

    The most common case is one file with everything inlined. Three lines:

    $ mkdir site && cp ~/Desktop/page.html site/index.html
          $ clize claim kilnhouse
          $ clize deploy ./site --domain kilnhouse.clize.app

    Renaming it index.html is what makes https://kilnhouse.clize.app/ itself show the page rather than a file listing. If the checker above listed companion files, copy those into the same folder first, keeping the same relative paths — img/hero.png in the markup has to be site/img/hero.png on disk.

    Redeploying is the same command again; it replaces what changed and leaves the address alone. When the page outgrows a single file, the agent that wrote it can keep working in the same folder: that loop is what Sites by Clize is, and there is a worked example in building a site with Claude Code and putting it live. If the file came out of a chat rather than an editor, start at hosting a Claude artifact on your own domain instead — those files have one extra failure mode this page does not cover.

    // FAQ

    How do I turn an HTML file into a website?

    Put the file in a folder and name it index.html, then publish that folder. With Clize it is two commands: clize claim yourname takes the free handle yourname.clize.app, and clize deploy ./folder --domain yourname.clize.app puts the files behind it over HTTPS. Before you do, run the file through the checker on this page — it finds the references that only work on your own machine.

    Is the HTML hosting here actually free?

    Yes. The handle at yourname.clize.app, the HTTPS certificate and the deploys cost nothing and need no card. You do need a Clize account to own the name, which is what stops two people claiming the same handle. Paying starts only when you ask for something that costs money elsewhere, such as registering your own domain — and the price is quoted and confirmed before anything is charged.

    Can I host a single .html file, or do I need a whole site?

    A single file is fine. The deploy command takes a directory rather than a file, so put your one file in a folder and call it index.html. Everything else in that folder goes up with it, which is how you add a stylesheet or images later without changing anything about the address.

    Does my file get uploaded when I open it in this checker?

    No. The file is read in your browser with FileReader and rendered in a sandboxed iframe on the same page. Nothing is sent to a server, there is no account, and the page keeps working with the network off once it has loaded.

    Why do my images disappear after the page is online?

    Almost always one of two reasons. Either the src points at a path on your own disk, such as file:///Users/you/Desktop/photo.jpg, which exists for nobody else; or it is an http:// URL, which an HTTPS page blocks as mixed content without showing an error. The checker flags both with the line number.

    Can I use my own domain instead of the free handle?

    Yes. Buy or import a domain with clize domain, then deploy to it with --domain yourdomain.com; the DNS record and the certificate are set up as part of that. The free handle keeps working, so you can publish first and decide on a name afterwards.

    How do I update the page after publishing?

    Run the same deploy command again on the same folder. The address does not change, the certificate does not change, and only the files that differ are re-uploaded. Cached copies expire within five minutes.

    clize claim + clize deploy — free handle, free HTTPS

    Give the file an address it can keep.

    One install, one name, one deploy. The handle is yours until you release it, the certificate is automatic, and the same folder can be redeployed as many times as you want.

    $ npm i -g @clize/clize && clize login
    $ clize claim yourname
    $ clize deploy ./site --domain yourname.clize.app
    [ Get started with Clize → ]