Pilcrow is a free, MIT-licensed Astro blog theme from ondelva built for writers who want typography-first layouts, a generous reading measure, and nothing else competing with the text.
What is Pilcrow?
Pilcrow is a static site theme for the Astro framework that turns MDX content into a typography-led blog with zero client-side JavaScript by default. Site-wide settings such as name, URL, navigation, social links and SEO defaults live in a single file, src/config.ts, while colors and fonts are set in the @theme block of src/styles/global.css. It requires Node.js 22.12+ and pnpm 9 or newer, and its package.json pins the exact pnpm version. The theme is published by ondelva as a free MIT edition alongside a paid Pro edition demoed at pilcrow.ondelva.com.
Key features
- Astro 7 + Tailwind CSS v4 — the build stack, shipping no client-side JavaScript by default for a text-only reading experience.
- Blog plumbing included — tags, pagination, RSS feed, XML sitemap and JSON-LD structured data come wired into the free edition.
- Dark mode and responsive layout — the layout adapts from 360px upward and reports Lighthouse scores of 95 or higher.
- Type-safe content collections — posts are authored in MDX inside Astro content collections, so frontmatter is validated.
- Agent-ready repository — an
AGENTS.mdfile ships with the theme so Claude Code and Cursor can work on it out of the box. - Seven pages in the free edition — Home, About, Blog, Contact, Privacy, Terms and a 404 page, with five home page sections.
- Static deploy targets — output deploys to Cloudflare Pages, Vercel or Netlify, with a one-click Deploy to Cloudflare Pages button.
- Built-in integrations — analytics and a Web3Forms contact form are wired up; i18n UI strings ship in English and Korean.
Who should use Pilcrow?
- Essayists and long-form bloggers: publish MDX posts through content collections and get tags, pagination and RSS without configuring a CMS.
- Newsletter writers: run a fast static archive of past issues that deploys to Cloudflare Pages, Vercel or Netlify.
- Developers who want minimal dependencies: start from an Astro 7 and Tailwind CSS v4 codebase that emits no client-side JavaScript by default.
- Writers working with AI coding agents: use the bundled
AGENTS.mdto have Claude Code or Cursor edit the site directly.
What can you do with Pilcrow?
- Writers: restyle the whole site by editing the
@themeblock for colors and fonts, and update navigation, social links and SEO defaults from one config file. - Developers: deploy the static build to Cloudflare Pages, Vercel or Netlify, or clone the repository and run
pnpm devlocally. - Technical bloggers: keep MDX posts type-checked through Astro content collections while shipping JSON-LD and a sitemap for search engines.
How does Pilcrow work?
- Run
pnpm create astro@latest my-site -- --template ondelva/astro-theme-pilcrowwith Node.js 22.12+ and pnpm 9 or newer. - Change the directory, run
pnpm install, thenpnpm dev. - Edit
src/config.tsfor site-wide values andsrc/styles/global.cssfor colors and fonts.
Pricing
Pilcrow's free edition is MIT-licensed and open source. Pilcrow Pro is a separate paid edition built on the same code, sold through a Polar checkout link, adding extra pages, Pagefind search, localized routes, newsletter and comment integrations, and email support within two business days.
FAQ
Is Pilcrow free?
The free edition is MIT-licensed and includes the Home, About, Blog, Contact, Privacy, Terms and 404 pages with five home sections, tags, pagination, RSS, sitemap and JSON-LD. Pilcrow Pro is sold separately and adds more pages, Pagefind search, i18n routes and newsletter or comment integrations.
Does the free version include site search?
No. Full-text search is provided by Pagefind only in Pilcrow Pro. The free edition ships the blog listing, tag pages and RSS feed instead, so visitors navigate by tags, pagination or a feed reader rather than an on-site search box.
What do I need to run Pilcrow locally?
You need Node.js 22.12 or newer and pnpm 9 or newer, installed globally with npm i -g pnpm. The repository's package.json pins the exact pnpm version, and pnpm 10 or above automatically switches to that pinned version.
Where can I host a Pilcrow site?
Pilcrow builds to static output, so it deploys to Cloudflare Pages, Vercel or Netlify. The repository includes a Deploy to Cloudflare Pages button, and the docs folder contains a deploy guide next to the customization guide.








