Freedom251 › Static site generators
Harp

What Harp is
Harp is a free, open-source static web server with built-in preprocessing for static sites and client-side applications. It serves Markdown, Jade, EJS, CoffeeScript, Sass, LESS, and Stylus as HTML, CSS, and JavaScript without a configuration file or separate build step. Running the harp command starts a local preview server, documented on port 9000, and edits appear after manually refreshing the browser. Jade and EJS templates support layouts and reusable partials, while _data.json supplies per-directory data. Harp can compile projects into static HTML, CSS, and JavaScript for deployment to Amazon S3, Netlify, GitHub Pages, Cloudflare Pages, or your own server. It can also run as middleware and an asset pipeline in Express and Node.js applications. Production-server options include caching, HTTP Basic Authentication, and 200/404 fallbacks. Basic Authentication does not carry into compiled static output hosted elsewhere or on GitHub Pages. Harp runs on Node.js, installs globally with npm, and is available for Linux, macOS, Windows, self-hosting, and web use.
Who it suits
Harp suits developers creating static sites or client-side applications with preprocessing and template support. It also fits Express and Node.js projects needing an asset pipeline or middleware server.
What it does well
- Preprocesses several web source languages
- No configuration file or build step required
- Compiles deployable static HTML, CSS, and JavaScript
- Supports layouts, partials, and directory data
- Can run as Express middleware
What to know first
- Local development has no live reload
- Basic Authentication is absent from compiled output
- Requires Node.js and global npm installation
Verdict
Harp combines local serving, preprocessing, templating, and static compilation in one open-source tool. It is flexible for deployment and Express integration, but development changes require manual browser refreshes.
Facts from Harp's own pages
- Access control
- Harp supports HTTP Basic Authentication, but the feature is not included in compiled static output served by another web server or GitHub Pages. · harp.sh, 8 Oct 2026
- Automatic preprocessing
- Harp compiles preprocessor source files to standard web output on the fly, without a configuration file or build step. · harp.sh, 8 Oct 2026
- Build output
- Harp can compile a project into static HTML, CSS, and JavaScript files for deployment. · harp.sh, 9 Oct 2026
- Content sources
- markdown · github.com, 22 Sept 2026
- Distribution
- The install guide documents macOS, Linux, and Windows terminal use and installs Harp globally with npm. · harp.sh, 8 Oct 2026
- Free plan
- Yes · github.com, 22 Sept 2026
- Hosting destinations
- The documentation names Amazon S3, Netlify, GitHub Pages, Cloudflare Pages, and a user's own server as static hosting options. · harp.sh, 9 Oct 2026
- Integrations
- Harp can be used as middleware in an Express and Node.js application as an asset pipeline. · harp.sh, 8 Oct 2026
- Layouts and partials
- Layouts and partials are available for Jade and EJS templates. · harp.sh, 9 Oct 2026
- Limit
- The development server does not provide live reload; users refresh the browser to see edits. · harp.sh, 8 Oct 2026
- Local server
- The `harp` command serves a project locally, with port 9000 as its documented default. · harp.sh, 8 Oct 2026
- Manual refresh
- When developing locally, changes appear after manually refreshing the browser; the quick-start guide says Harp does not auto-reload. · harp.sh, 9 Oct 2026
- Metadata
- Harp lets templates use flexible metadata stored in files such as `_data.json`. · harp.sh, 9 Oct 2026
- Middleware
- Harp can run as middleware and serve as the asset pipeline for an Express and Node.js application. · harp.sh, 9 Oct 2026
- Node.js requirement
- Harp runs on Node.js and is installed globally with npm. · harp.sh, 9 Oct 2026
- Open source
- Harp is open source, and its code is available on GitHub. · harp.sh, 9 Oct 2026
- Output
- Harp serves Jade, Markdown, EJS, CoffeeScript, Sass, LESS, and Stylus as HTML, CSS, and JavaScript without configuration. · harp.sh, 8 Oct 2026
- Preprocessors
- Harp supports Markdown, Jade, EJS, LESS, Stylus, Sass, and CoffeeScript without additional configuration. · harp.sh, 9 Oct 2026
- Local preview server
- Yes · github.com, 22 Sept 2026
- Product
- Harp describes itself as a static web server with built-in preprocessing. · harp.sh, 8 Oct 2026
- Production caching
- Setting `NODE_ENV=production` enables additional caching. · harp.sh, 8 Oct 2026
- Production server
- Harp can run as a production web server with caching, Basic Authentication, and 200/404 fallbacks. · harp.sh, 9 Oct 2026
- Purpose
- Harp is a static web server with built-in preprocessing that serves source files as HTML, CSS, and JavaScript. · harp.sh, 9 Oct 2026
- Security and compliance
- Harp's documentation describes HTTP Basic Authentication for restricting site visitors; the opened maker pages made no security certification or compliance claim. · harp.sh, 8 Oct 2026
Where Harp stands on Freedom251
- Static site generators#25 of 35