Pluma is a blogging platform for people who want to write without the noise. You get a clean block editor, a blog at username.pluma.ink, and readers get a fast, simple page.
The editor is block-based. Each piece of your article — a paragraph, a header, a code block, an image, a table — is a discrete unit you can add, move, and delete. You write content; Pluma handles the presentation. There are no drag-and-drop columns, no layout grids, no CSS injection. Content stacks vertically, the way a well-formatted article should read.
Your blog lives at username.pluma.ink by default. On paid plans, you can connect a custom domain. Either way, your readers get server-rendered HTML pages that load fast on any device and any connection speed. There's no heavy JavaScript framework between your words and your audience.
What makes Pluma different from other platforms is what it chooses not to include. No plugin marketplace. No theme store. No algorithmic feed. No advertising. No tracking scripts on reader-facing pages. Every feature that ships has to serve one of two purposes: help you write, or help people read.
No algorithms. No engagement games. Just your writing, presented well. Code blocks with syntax highlighting in 190+ languages, LaTeX math rendering, images, tables, blockquotes, lists, embeds, and footnotes all work. When you're done, export as Markdown anytime.
Pluma was founded in January 2025 by Nader Ouerdiane. The motivation was straightforward: existing blogging tools each had a fundamental problem, and no platform got the balance right.
WordPress is powerful but overwhelming. A basic blog requires choosing a theme, installing plugins for SEO, caching, security, and contact forms, then keeping all of those updated and compatible with each other. The writing experience is buried under layers of administration. What started as a blogging tool became a general-purpose CMS, and the blogging experience suffered for it.
Ghost improved on WordPress in many ways, but oriented itself around newsletters and paid memberships. The dashboard emphasizes subscriber counts and revenue metrics. If you just want to write and publish articles, you're working inside a tool that's optimized for a different workflow.
Medium and Substack have clean writing experiences, but the business model is the problem. Medium puts your writing behind a paywall and monetizes your audience through its membership program. Substack nudges you toward growth and engagement because its revenue depends on your subscriber count. In both cases, the platform's incentives don't align with simply writing well.
Bear Blog gets the simplicity right but offers a limited writing experience. If you need code blocks, math rendering, tables, or image handling, you outgrow it quickly.
Pluma was built to occupy the space between these extremes: a writing tool that's genuinely simple to use, powerful enough for technical and long-form content, and funded by straightforward subscriptions from writers rather than by monetizing readers.
No ads, ever. Your readers see your writing and nothing else. Pluma is funded by subscriptions, not advertising. This isn't just a policy — it's a business model decision. When a platform makes money from ads, every product decision eventually bends toward maximizing page views and time on site. Pluma's revenue comes from writers who pay for the tool, so every decision optimizes for writing quality and reading experience.
Privacy by default. No third-party trackers, no analytics scripts on reader pages, no data sold. Analytics are first-party and only visible to you. Your readers don't get cookie consent banners because there are no tracking cookies to consent to. Reader-facing pages load your content, Pluma's CSS, and only the JavaScript needed for features actually in use — syntax highlighting for code blocks, MathJax for math rendering. No advertising networks, no social media widgets, no data brokers.
Your data, your choice. Export all your articles as Markdown at any time. Your writing is never locked in. Delete your account at any time. Pluma stores your content as Markdown internally, so what you export is the same format used to store it — not a lossy conversion. RSS and Atom feeds are available for every blog. Your content works with any tool that reads standard formats.
Simplicity over features. Every feature has to earn its place. If it doesn't help you write or help people read, it doesn't ship. This means saying no to most feature requests. No comment threads on the editor page. No social media sharing widgets. No gamification. The platform does fewer things, but the things it does are reliable and well-considered.
Open standards. Built on Markdown, RSS, and the open web. No proprietary formats. Your articles are Markdown files. Your feeds are standard RSS and Atom. Links to your articles are permanent URLs on your subdomain or custom domain. Nothing about Pluma requires Pluma to keep existing for your content to remain accessible.
Built to last. Fast, lightweight pages. No JavaScript frameworks on reader-facing pages. Your articles load instantly. Reader pages are server-rendered HTML with clean CSS. They work in every browser, every screen reader, and every content blocker. They'll still render correctly in ten years because they don't depend on a JavaScript framework that might not exist by then.
Pluma is built with Django and vanilla JavaScript. There is no frontend framework — no React, no Vue, no Svelte. The builder interface uses plain JS for interactivity. Reader-facing pages are server-rendered HTML with no client-side rendering required.
Content is stored as Markdown. When you write in the block editor, your content is converted to Markdown for storage and converted back to HTML for display. This means your content is always in a portable, human-readable format.
The database is SQLite in development and PostgreSQL in production. The application runs behind Caddy as a reverse proxy, which handles SSL certificates and custom domain routing.
Pages are deliberately lightweight. A typical article page loads your content, one CSS file, and only the JavaScript needed for features present in that specific article — Prism.js for syntax highlighting if there are code blocks, MathJax if there's LaTeX. If your article is just text, readers get HTML and CSS with no JavaScript at all.
Not a CMS. Pluma doesn't manage pages, menus, sidebars, or site hierarchies. It publishes blog articles. If you need a full website with multiple page types and custom navigation, use a CMS.
Not a page builder. The block editor is for writing content, not designing layouts. You can't create multi-column grids, hero sections, or custom page templates. Content goes in blocks that stack vertically, like a document.
Not a newsletter platform. Pluma has a newsletter feature on Pro and Max plans that lets you email subscribers when you publish. But newsletter is a feature, not the product. The product is a place to write and publish articles. If your primary need is newsletter management with subscriber segmentation and email automation, use a dedicated newsletter tool.
Not a social network. There's no algorithmic feed ranking your posts against other writers. No follower counts on your profile. No engagement metrics influencing what gets seen. You publish to your blog, your readers find it through search, RSS, or links you share. Distribution is your responsibility, not Pluma's algorithm.
Have a question, found a bug, or just want to say hello?