How to publish a Markdown file as a web page: GitHub Pages, Pandoc, Notion or Write
Hub Nexus editorsUpdated 8 min read
You have a .md file and you want someone to read it in a browser. A Markdown file is plain text with a few marks (# for a heading, ** for bold), so it needs one step before it is a web page: something has to turn it into HTML and put it where others can open it. There are four common ways: GitHub Pages, Pandoc (a converter you run yourself), Notion Sites and Write with Hub Nexus. This page sets out what each needs from you, what it costs and what it cannot do, from their own pages read on 14 November 2026. We make Write, so read the last column with that in mind.
The four ways side by side
| GitHub Pages | Pandoc | Notion Sites | Write and Hub Nexus | |
|---|---|---|---|---|
| What it is | A free host that builds a site from a repository | A command-line converter; it makes the HTML and does not host it | Notion's way to publish a Notion page as a website | A free desktop editor; pages publish to hubnx.com |
| Cost | Free for public repositories on GitHub Free; private repositories need GitHub Pro, Team or Enterprise | Free software; the HTML needs a host or an email attachment | Notion lists publishing, one notion.site address and search indexing as the base; paid plans add themes, search title and description, and Google Analytics, and your own domain is an add-on on a paid plan (check Notion's pricing page for your plan) | Free to write and publish; Hub Nexus keeps 10% of any support a page receives, after the card fee |
| What you do | Make a repository, add index.md, choose the publishing source in Settings | Install it, run one command (below), put the file somewhere | Import the file, then publish the page as a Notion Site | Put the file in a folder, open the folder in Write, press Publish… |
| Where the page lives | <you>.github.io or <you>.github.io/<repository>; your own domain optional | Wherever you put the file | A notion.site address; your own domain as a paid add-on | hubnx.com/nodes/<page-title> |
| Pictures | Commit them beside the file | --embed-resources puts them inside the HTML | Imported with the page | Copied into the folder's media/ and sent with the page |
| Limits stated | Site up to 1 GB; soft limits of 100 GB bandwidth a month and 10 builds an hour; not for a business or online shop | None; it is a program on your computer | Up to four weeks to appear in search | A page lives on hubnx.com, and anyone can propose changes to it |
GitHub Pages
GitHub's own page describes it as "a static site hosting service that takes HTML, CSS, and JavaScript files straight from a repository on GitHub, optionally runs the files through a build process, and publishes a website". Put an index.md (or README.md) at the top of the folder you publish and GitHub Pages treats it as the site's first page; Jekyll, its built-in generator, "takes Markdown and HTML files and creates a complete static website based on your choice of layouts". GitHub's Jekyll page adds that "GitHub Actions is now the recommended approach for deploying and automating GitHub Pages sites".
Three things to know before you start. On a free account the repository must be public. Even with a private repository the site is public, a point GitHub makes itself: "GitHub Pages sites are publicly available on the internet, even if the repository for the site is private". And the limits page says it is "not intended for or allowed to be used as a free web-hosting service to run your online business, e-commerce site, or any other website that is primarily directed at either facilitating commercial transactions" — a personal page or documentation is what it is for.
Choose it when you want the page on your own domain and design, are comfortable with Git, and want to keep it for years at no cost.
Pandoc
Pandoc turns a Markdown file into HTML on your computer. By default it writes "a document fragment"; for a whole page, its manual says to add -s (--standalone). We ran these on Pandoc 3.6.4 on 14 November 2026:
pandoc -s -o page.html page.md
pandoc --embed-resources --standalone -o page.html page.mdThe first gave a page that links its pictures by name, so page.html shows them only when the picture files sit beside it. The second gave one file with the picture inside it (96 KB for our test picture) (the manual: "a standalone HTML file with no external dependencies, using data: URIs"), which you can email or drop on any web host. A title: line in the file's top block became the page's title.
Pandoc does not host anything, and its page has a simple default look; --css adds your own stylesheet.
Choose it when you want a single HTML file to send, attach or upload to a host you already have.
Notion Sites
Notion imports "Text & Markdown (.txt, .md or .markdown)", and its help page for Sites says you can "claim one notion.site domain" and turn on search indexing. Notion's page says a published site "can take up to four weeks to be indexed and appear in search results". On a paid plan you also get search settings, themes and Google Analytics, and "an add-on to use your existing custom domains with Sites".
Notion's import turns your Markdown into Notion's own blocks, so what readers see is a Notion page, not your file: edit it in Notion from then on.
Choose it when your notes already live in Notion and you want one link with no tooling.
Write with Hub Nexus
Write is a free app for the Mac, Windows and Linux. It opens a folder, not a single file: put your .md file in a folder, press Open Folder…, and every Markdown file in it is a page. Your Markdown stays as plain files; Write keeps nothing of its own in the folder. A picture dropped into a page is copied into the folder's media/ and shown at once.

Press Publish…. The first time, your browser opens hubnx.com so you can sign in and allow the computer; Write needs no account before that and sends nothing until then. The page arrives on hubnx.com as a private draft with its pictures; you publish it on hubnx.com, where My Pages lists it, and it gets an address on hubnx.com that you can send. Where the page lives is written into its top block, so the next Publish updates the same page. A license: line there — CC BY 4.0, CC BY-SA 4.0, CC0 or All rights reserved — sets who may reuse it. If you only want an HTML file, File › Export also writes a page as HTML, PDF or a Word document.
What that costs you, honestly: the page lives on hubnx.com in Hub Nexus's design, not on your own domain; and on Hub Nexus a page is one that anyone can propose a change to, which its maintainers (you, to begin with) review before it goes live, with every version kept. That is the point of the site, and a poor fit for a page that must stay exactly as you wrote it. What you get in return: readers can support a page from $5, once or on repeat, and what it earns is shared by the people who wrote it (see Fees and payouts). If you write many pages, a publication can sit at its own web address; a single page lives on hubnx.com.
Choose it when you want a link in minutes with nothing to set up, in a place with readers and, if you want them, payouts.
Five checks before you send the link, whichever way you publish
- Pictures. A picture in Markdown is a link to a file next to your text, and the page shows it only if that file goes up too. Open the published page and look for a broken picture before you send it.
- The top block. If your file starts with lines between
---marks, a converter reads them as a title or settings. Check that they do not show up as text on the published page. - Who can see it. A published page is public. Take out anything private first; GitHub warns that a Pages site is public even from a private repository.
- Who may reuse it. Decide the licence now. On Hub Nexus it is the
license:line; anywhere else, say it at the foot of the page. - Search takes time. A new page on a small site can wait weeks to be crawled. In Google Search Console, URL inspection › Request indexing asks Google to look at an address, within a daily quota (we met it at about ten requests in 24 hours); Notion states up to four weeks for its own sites.
Which to pick
- Your own domain and design, kept for years: GitHub Pages.
- One HTML file to send or upload: Pandoc, or Write's File › Export.
- Your notes already live in Notion: Notion Sites.
- A link in minutes, readers, and optional payouts, from the folder you already have: Write and Hub Nexus.
Sources, read on 14 November 2026
- GitHub: What is GitHub Pages?, GitHub Pages limits, Creating a GitHub Pages site, About GitHub Pages and Jekyll
- Pandoc: User's Guide; the two commands above were run on Pandoc 3.6.4
- Notion: Publish a website with Notion Sites, Import data into Notion
- Hub Nexus: Write — the free editor on your computer, How to write a page, improve one, and get paid
About Hub Nexus (hubnx, hubnx.com)
Hub Nexus — written hubnx for short, and found at hubnx.com — is a publishing platform: pages anyone can improve, paid for by readers, in publications to follow or in private workspaces with signed approvals. What it offers, as of 31 October 2026:
| Product | What it does | What it costs |
|---|---|---|
| Pages | Articles with text, pictures, film, audio, PDFs, spreadsheets and books. Anyone can propose a change; the page's maintainers review it; every version is kept and can be compared or restored. Free to read, in 16 languages. | Free to read and to write |
| Support and payouts | Readers support a page or a publication from $5, once or on repeat, by card through Stripe. Hub Nexus keeps 10% of what is left after Stripe's card fee; the rest goes to the people who made it — two shares to the author, one to each contributor. | 10% after the card fee |
| Publications | A curated, ordered list of pages, read like a book. Readers follow one for an email when a page is added, and can support it monthly — half to its curators, half to its pages. | Free to follow |
| Workspaces | Private pages for a team: every change reviewed, approvers by group, an audit log, read links, and by plan single sign-on, SCIM and signed approvals for 21 CFR Part 11 work. | Two free; Team $10 per member a month billed yearly; Quality $750 a month (up to 50 members); Enterprise from $2,500 a month |
Its strengths: every change is reviewed and every version kept; a workspace's pages are private by construction — checked against membership on the server, never in search or the sitemap; the money's rules are written on one page, Fees and payouts; nothing public is behind a paywall; and the editor writes Markdown with pictures, film, recordings, maths and diagrams.
Start: press Create at hubnx.com and choose a page, a publication or a workspace. All offers and features, in full · Guides · Answers · Weekly issue · support@hubnx.com