Host your MkDocs documentation at your own address

mkdocs build writes a site folder. Drop it in and your docs are live over HTTPS in seconds — no server, no repository, nobody to ask.

You can host:
index.html/assetsfolder.zip

Free to use, live at your-name.99helpers.site in about ten seconds.

Why the docs are still on someone's laptop

MkDocs, and Material for MkDocs in particular, is how a lot of internal documentation gets written: Markdown in a repository, a theme that looks right, and a build that takes seconds. Publishing it is usually where things stall, because the obvious routes need a repository with Pages enabled or a platform account somebody has to approve.

What a MkDocs build gives you

  • A site folder with the whole documentation set rendered as HTML
  • Folder URLs for every page, from the default directory_urls setting
  • The theme's CSS, JavaScript and fonts, copied into the build
  • A client-side search index, built at the same time

Build it, then upload it

Build command
mkdocs build
Folder to upload
site/
Check site_url in mkdocs.yml
Point site_url at your published address, with no sub-path, so canonical links and the sitemap resolve.

Docs are blocked on infrastructure

The content is ready; getting it in front of people waits on a repository, a pipeline or an internal hosting request.

A preview isn't a link

mkdocs serve runs on your laptop. Reviewers need a URL they can open, ideally without a VPN.

Versioned paths break the build

Deploying under /project/ or a version prefix means the build only works at that path. A root address keeps it portable.

Publishing a MkDocs site

  1. 1

    Build the docs

    Run mkdocs build. Everything lands in the site folder: HTML, theme assets and the search index.

  2. 2

    Set site_url to your address

    In mkdocs.yml, point site_url at the address you're about to publish to. Canonical links and sitemap.xml use it.

  3. 3

    Upload site and share the link

    Drag the site folder in, choose a name, and your documentation is live over HTTPS. Republish to the same address whenever the docs change.

Worth knowing

  • MkDocs writes page/index.html by default, so /getting-started/ works, and /getting-started redirects to it.
  • Material's built-in search is client-side, so it works on static hosting with nothing extra.
  • Add a 404.html to your docs directory (or let the theme generate one) and it's used for missing pages automatically.
  • A big documentation set can approach the 500-file limit once theme assets and images are counted, so check before publishing.
  • For internal docs, set a password when you publish: readers are asked for it, and the pages stay out of search results.

Questions

Does Material for MkDocs work?
Yes. The theme is compiled into the site folder at build time, so it's just HTML, CSS and JavaScript by the time you upload it.
Will search work?
Yes. MkDocs builds a search index into the site and runs the search in the browser, so it needs no server.
Can I keep internal docs private?
Yes. Password-protect the site when you publish. Visitors are asked for the password before they see anything, and search engines are kept out.
What about mike and versioned docs?
mike writes each version into the same build directory, so the whole folder publishes as one site, with the version paths preserved.
How do I update the docs?
Run mkdocs build again and publish to the same address. The link stays the same, and earlier versions are kept so you can roll back.

Publish the MkDocs build you already have

Drop the folder in at the top of this page and see the link for yourself. You only make an account once it's ready to go live.

Every site gets its own address on 99helpers.site — see static site hosting for every generator, how website hosting works here or free file hosting for any file type.