mrkeyoor.com_
Tue 29 Sept 21:17 UTC
Webevaluationupdated 29 Sept 2026

pure review

Pure is a small set of CSS modules for page foundations: a browser-normalizing base, grids, forms, buttons, tables, and menus. It gives a new site sensible structure without imposing a finished visual system or a JavaScript component runtime.

Verdict

Our Pure run installed 501 development packages in 10 seconds, then passed its 1-second build and 4-second test step, so the source is easy to verify despite a surprisingly large toolchain for a tiny stylesheet. Use it when you want a restrained CSS baseline and intend to write the product-specific layer yourself. Choose a component framework if your team expects the dependency to own interactive behavior too.

We ran it

Lab card: what happened when we ran pureScreenshot of pure (purecss.io)
Install✓ · 10s501 packages · 201 MB
Build✓ · 1s
Tests✓ · 4sran, no count parsed
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo138 files~4,507 lines of source · 2.9 MB · 4 CI workflows · tests dir

Answers from our run

Does pure build from source?

Dependencies installed in 10 seconds (501 packages), and the build succeeded in 1 seconds. We cloned commit 520f5ce into a clean Debian container with 3 CPUs and no project-specific setup.

Do pure's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Does pure have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use pure?

Teams expecting modals, tabs, tooltips, or managed menu behavior: Pure ships CSS, and its menu guide recommends your own JavaScript for accessible submenus.

What are the alternatives to pure?

Bootstrap, Tailwind CSS, Pico CSS. Our Pure run installed 501 development packages in 10 seconds, then passed its 1-second build and 4-second test step, so the source is easy to verify despite a surprisingly large toolchain for a tiny stylesheet.

Setup4/510-second install and green checks, but source now asks for Node 26
Docs4/5Clear module examples and candid menu and browser limits
Community5/523,725 stars, a September 29 push, and a fresh release
Maturity5/5v3.1.0 keeps stable CSS while replacing old build machinery

Who it’s for

Developers building static, server-rendered, or lightly interactive sites who want useful CSS before writing the project theme.
Teams comfortable owning their application JavaScript, accessibility behavior, and visual identity.
Projects that want a CDN stylesheet or npm package without adopting a utility compiler or component runtime.
Designers who prefer fraction-based grid classes and small, replaceable modules.

Who it’s NOT for

Teams expecting modals, tabs, tooltips, or managed menu behavior: Pure ships CSS, and its menu guide recommends your own JavaScript for accessible submenus.
Products that need documented support for older or embedded browsers: the README limits testing to current stable Firefox, Chrome, and Safari.
Developers expecting responsive columns in the main stylesheet: Pure requires a separate responsive-grid file for media-query classes.
Contributors pinned to an older toolchain: the current source instructions require Node.js 26 or newer and npm 12 or newer.

Setup reality

Our sandbox installed commit 520f5ce in 10 seconds, adding 501 packages and using 201 MB on disk. The build passed in 1 second, the tests passed in 4 seconds, and npm audit reported 0 known vulnerabilities.

Using Pure in a site needs no account, service, or credential. You can load the production CSS from a CDN or install the npm package. Responsive grid classes require an additional stylesheet, and interactive menu behavior remains application code.

Building from source now asks for Node.js 26 or newer and npm 12 or newer, although our lab-node:22 image completed the supplied commands. The README documents testing only against the latest stable Firefox, Chrome, and Safari.

Six CSS modules give you a baseline, not a finished interface

Pure's advertised 3.7 KB minified and compressed bundle covers the unglamorous parts of a new page: a Normalize.css base, fraction-based grids, forms, buttons, tables, and menus. The class names are readable. A row is pure-g; a half-width column is pure-u-1-2; a primary button is pure-button-primary. You can link the stylesheet from jsDelivr or take it from the npm package.

That small surface is Pure's point. It does not bring a theme engine, a JavaScript runtime, or an inventory of application widgets. The repository itself is similarly compact at 138 files, about 4,507 lines of source, and 2.9 MB checked out. Pure is easiest to understand as a prepared sheet of graph paper: the lines help you place the work, while the actual visual language still belongs to your project.

What happened when we ran it

Our sandbox installed commit 520f5ce in 10 seconds. npm added 501 packages, and the working environment occupied 201 MB after installation. That is a sizable contributor toolchain beside a stylesheet advertised at 3.7 KB, but it is development weight rather than CSS every visitor downloads. The repository had a tests directory and 4 CI workflow files, with no Dockerfile.

The build completed in 1 second, and the supplied tests passed in 4 seconds. npm audit found 0 known vulnerabilities across critical, high, moderate, and low severity. We ran those commands in an unprivileged Debian container with 3 CPUs, 8 GB of RAM, and no secrets. The result covers installability and repository checks. It says nothing about page performance or visual correctness in your product.

One detail deserves attention before contributing. The current README says source builds need Node.js 26 or newer and npm 12 or newer. Our measured image was named lab-node:22, yet install, build, and tests all succeeded at commit 520f5ce. Treat the documented versions as the supported path, even though our run shows the checked commit was less strict in practice.

The 3.7 KB headline leaves responsive grids in a second file

The main rollup does not include responsive grid media queries. Pure's start guide tells you to load grids-responsive-min.css separately, then add classes such as pure-u-md-1-2 or pure-u-lg-1-4. Without that file, a pure-u-1-3 column stays one third wide regardless of the viewport. This is easy to miss if the bundle-size line is the only part of the README you remember.

The default responsive sheet starts its named breakpoints at 568 px and continues through larger desktop sizes. You can generate custom fractions and media queries through the package's generateGrids() function. Release v3.1.0 moved that generator into Pure itself after removing the older Rework-based tooling. That is useful for a small design system that wants Pure's grid syntax without accepting every built-in breakpoint.

Menus need your JavaScript when behavior matters

Pure can style horizontal, vertical, dropdown, and scrollable menus. It does not pretend that CSS alone completes an accessible navigation component. The menu documentation recommends JavaScript for submenus and provides an example with ARIA support, limited arrow-key handling, outside-click dismissal, and Escape-key dismissal. It also says a production team may need fuller keyboard navigation and edge detection.

There are sharper boundaries. Dropdowns are unsupported in the scrollable horizontal menu, and submenus are unsupported in the scrollable vertical menu. Those limits are good reasons to choose Bootstrap or a dedicated accessible component library when navigation is central to the product. Pure works better when menus are simple or when your team already owns the behavior layer.

v3.1.0 changes the workshop while leaving the CSS alone

Pure was pushed on September 29, 2026, one day after v3.1.0 shipped. GitHub showed 23,725 stars and 0 combined open issues and pull requests. Recent work closed old documentation and accessibility reports, replaced the deprecated Grunt build with ESM npm scripts, removed Rework, and moved npm releases to GitHub Actions with provenance. The dates and closed queue point to active maintenance rather than a dormant package with a fresh tag.

The release notes make an equally important promise: apart from comments and a license link in the banner, v3.1.0's CSS is unchanged from v3.0.0. That is a mature-project decision. Maintainers modernized the machinery around the output instead of making downstream sites absorb a redesign. The README limits browser testing to current stable Firefox, Chrome, and Safari, so teams with older-browser contracts still need their own matrix.

Pure earns its place when your team wants to own the last mile

The lab result is reassuring: 501 packages installed, a 1-second build passed, a 4-second test step passed, and the audit returned 0 known vulnerabilities. The bigger decision has little to do with setup. Pure supplies clean CSS primitives and then gets out of the way. That freedom is productive for a brochure site, documentation surface, server-rendered app, or handcrafted interface with an established design direction.

It is a poor bargain when the team is really shopping for finished components. You will write the modal, disclosure, validation flow, responsive navigation behavior, and the product's spacing and color rules. If that work is already yours, Pure keeps the dependency quiet. If you want the framework to make those decisions, start with Bootstrap, Tailwind plus a component library, or Pico instead.

Alternatives

ProjectWhat it isPick it when
Bootstrap gh↗A larger UI framework with layout, styled components, utilities, and JavaScript plugins.pick this instead when you need ready-made navigation, dialogs, dropdowns, and a broader component catalog.
Tailwind CSS gh↗A utility-first CSS engine for composing custom interfaces directly in markup.pick this instead when a project-specific design system matters more than compact semantic classes.
Pico CSSA minimal framework that styles semantic HTML with relatively little class markup.pick this instead when attractive defaults and class-light HTML matter more than Pure's separate modules.

What people are saying

  1. [velocity-scout] pure-css/pure
  2. [hackernews] A search-and-inference database from scratch in pure Zig

Sources

  1. Pure README
  2. Pure v3.1.0 release notes
  3. Pure responsive grid documentation source
  4. Pure menu documentation source

More web reviews

vinext · robinhood-meme-token-stock-launchpad · kool-brushez · shadcn-admin · m3e-canvas · fable51-worlds · the whole board →