Nordstjernen Web Browser
Nordstjernen is a web browser, written from scratch in C, focused on supporting the HTML and CSS standards. It runs on Windows, macOS and Linux, with builds for Android, iOS, FreeBSD, NetBSD and the JVM. Nordstjernen is built in Norway.
Nordstjernen Browser version 1.0.29 released! Sharp pages on HiDPI screens, smooth tiled scrolling, the clipboard in text fields, Google sign-in through to Gmail, text that flows around floats, a security audit of the engine, and a Speedometer 3.1 score that rose from 2.40 to 4.70. Read the announcement · More info here.
Northstar Browser version 1.0.12 released! The minimalist GPL sibling — a sunny ark comic on about:start, a classic toolbar with address-bar suggestions, faster relayout and repaint, the Microsoft Store package, and a build on the original QuickJS. About Northstar · Read the announcement · More info here.
HTML Standard. Behaviour is measured against the spec text, section by section, not against another browser — 140 spec rows fully implemented, 31 partial and 0 absent across WHATWG HTML sections 1–16 (July 2026). No element or API row is fully absent any more: every one is implemented, partial, or a deliberate non-goal. Against the Web Platform Tests, the full wpt-fast tree now passes 88.4% of subtests overall — 91.7% of the HTML suite — and QuickJS runs the test262 conformance suite clean. See docs/HTML-compatibility.md.
Secure. Process-per-tab design — each tab runs in its own sandboxed renderer process (seccomp + Landlock on Linux), talking to the UI over IPC and shared-memory framebuffers · no JIT.
Minimalism. The core engine is about 210,000 lines of project C and headers, excluding the vendored libraries and generated assets — small enough for one person to read and audit end-to-end.
Capable. JavaScript on QuickJS (quickjs-ng 0.16.2, or Fabrice Bellard’s original QuickJS) with Canvas 2D, WebCrypto, Service Workers and the Navigation API · WebAssembly via WAMR · WebGL 1 & 2, enabled by default since 1.0.20 · inline <video> (MPEG-1 always, WebM/VP9 where FFmpeg is present) with WebVTT captions, and HLS and DASH streams fed through Media Source Extensions · in-engine SVG with masks and markers · presentation MathML · CSS Scroll Snap on scroll containers and, since 1.0.24, on the page itself · on-device safe browsing against a local blocklist.
Prints. Since 1.0.23, Ctrl+P lays the page out for paper and hands the sheets to the operating system's own print dialog — CUPS on Linux, the Win32 dialog on Windows, the Cocoa panel on macOS — so no printing code is written per platform and no dependency is added. @media print matches, @page sets the sheet size and its margins, and break-before, break-after and break-inside decide where a sheet may end. --dump=print:FILE renders the same pagination to a multi-page PDF without a printer. Since 1.0.24 printing works in the default process-per-tab mode, not only under --single-process.
Fast. Desktop builds shape text through ns-pango, a Pango fork that caches finished glyph strings and font metrics across layouts — on a table-heavy page it serves 92% of shaping requests and cuts layout time by 24%. Regular-expression search skips positions that cannot start a match, the way V8's Irregexp does, and a page on an origin that does not speak QUIC is upgraded to HTTP/3 through the alt-svc cache instead of stalling on a connect timeout: Acid3 loads in 2.2 seconds rather than 15.5.
Private. No telemetry and no update pings. Since 1.0.21 the client hints identify Nordstjernen as itself rather than impersonating Chrome, and --private starts a private-browsing session. Cookies are partitioned, and the safe-browsing check never leaves your machine.
Free software. Since 1.0.28 Nordstjernen is dual-licensed: use, modify and redistribute it under the GNU GPL, version 3 or later, or under the Nordstjernen Source License 1.0, at your option.
Nordstjernen has no JIT so it is much more secure, and can still be fast enough. It ships no telemetry of any kind, and deliberately includes no AI assistant and no AI-style web APIs.
the Northstar browser
Northstar is the minimalist sibling of Nordstjernen: a single-window, single-page, single-process desktop browser built from the same clean-room C engine, licensed under the GNU GPL, version 3 or later. It keeps the standards-first engine — lexbor, quickjs-ng (no JIT), ns-pango, WAMR, Wuffs — in about 160,000 lines of original C, and adds WebExtensions support, while leaving out multi-window browsing, per-tab renderer processes, WebGL and WebGPU. It renders SVG in-engine, decodes WebP and APNG, plays MPEG-1 <video> with play, pause and seeking, prints through the system print dialog, runs CSS transitions and animations on every property, and since 1.0.9 greets you with a sunny ark comic and a classic Mozilla-style toolbar. It runs on Linux, macOS and Windows — on Windows from the Microsoft Store — behind a Landlock filesystem sandbox and a default-deny seccomp filter on Linux.
Read the full Northstar documentation » · or see the comparison table below for how the two browsers differ.
the Southstar browser
Southstar is the Rust version of Nordstjernen. Rather than starting from an empty repository, it starts from the working browser: the Nordstjernen C codebase, its full history included, trimmed to the desktop (Linux, Windows, macOS, FreeBSD and NetBSD) and now being ported to Rust in place, one module at a time, so that every commit still builds and runs. The helper processes and the renderer protocol go first, then the engine modules behind their existing C headers, and the JavaScript bindings last; the plan is in docs/rust-port.md. Southstar has made no release of its own yet — follow it, and build it from source, on GitHub.
Read more about the innovations in the Nordstjernen web browser.
news
- ·
Nordstjernen 1.0.29 released — sharp pages on HiDPI screens, smooth tiled scrolling, the clipboard in text fields, Google sign-in and Gmail, text that flows around floats, Chrome-matching fonts on macOS, a security audit, and a
.debfor each of Ubuntu 24.04, Ubuntu 26.04 and Debian 13. Announcement » · Release notes » - · Nordstjernen 1.0.28 released — dual-licensed under the GNU GPL v3+ or the NSL, a redesigned window and built-in pages, Google’s search pages running, and faster style resolution, script parsing and container-query layout. Announcement » · Release notes »
- ·
Nordstjernen 1.0.27 released — DuckDuckGo as the default search, History that records, a
.deband a portable Linux zip on every release, frames and workers that follow the HTML event model, and MSE video again. Announcement » · Release notes » - · Northstar 1.0.12 released — an 8 MB engine stack so deep pages no longer crash, and a build on Fabrice Bellard’s original QuickJS. Announcement » · Release notes »
- · Northstar 1.0.11 released — Northstar on the Microsoft Store. Release notes »
- · Nordstjernen 1.0.26 released — full grid layout, popovers and dialogs per the HTML standard, a faster cascade, and a round of security fixes. Announcement » · Release notes »
- · Northstar 1.0.10 released — text measurements that outlive relayout, partial repaint, an idle page that stays idle, popovers, grid fixes and canvas security. Announcement » · Release notes »
- · Nordstjernen 1.0.25 released — a 40% faster restyle, the classic Northstar toolbar and splash, the full container-query grammar, and transitions and animations on every property. Announcement » · Release notes »
- · Northstar 1.0.9 released — a sunny ark comic on about:start, a Mozilla-style toolbar, address-bar suggestions, and a full-screen notice. Announcement » · Release notes »
- · Nordstjernen 1.0.24 released — flexbox and grid rebuilt against the specifications, the page itself scroll-snaps, printing in process-per-tab mode, text selection that behaves, registered custom properties, a JavaScript off switch, and a painted about:start. Announcement » · Release notes »
- ·
Northstar 1.0.8 released — transitions and animations on every property with a Web Animations API,
border-image, thebackgroundshorthand parsed layer by layer,position: fixedthat stays put, and lexbor 3.0.1. Announcement » · Release notes » - · CVE-2026-85046 and Northstar — the actively exploited Chrome V8 type confusion does not apply to Northstar or Nordstjernen: no V8, no JIT, no elements kind to confuse, no write barrier to skip. Read the analysis »
- ·
Nordstjernen 1.0.23 released — the browser prints, with
@media print,@pageand page breaks; correctoffsetLeft/offsetTop, flexbox static positions, CSS Scroll Snap, and quickjs-ng 0.16.1. Announcement » · Release notes » - · Northstar 1.0.7 released — printing, a rebuilt about:start sky and earth, CSS Scroll Snap, frames that reach their parent, and Linux binaries. Announcement » · Release notes »
- · Nordstjernen 1.0.22 released — real-site layout fixes, a rebuilt grid, faster text and regular expressions, a reworked toolbar, and a much more capable Android app. Announcement » · Release notes »
- · Northstar 1.0.6 released — a rebuilt grid, an indexed CSS cascade, faster text through ns-pango, Web Audio that renders, and relative colour syntax. Announcement » · Release notes »
- · Nordstjernen 1.0.21 released — Media Queries Level 4, in-engine SVG, HLS and DASH streaming, a redesigned about:start, and honest client hints. Announcement » · Release notes »
- · Northstar 1.0.5 released — in-engine SVG, WebP/APNG, MPEG-1 video playback, and much better HTML, CSS and JavaScript compatibility. Announcement » · Release notes »
- · Northstar 1.0.4 released — a maintenance release. Release notes »
- · Nordstjernen 1.0.20 released — WebGL on by default, a blinking caret, site-compatibility and memory-safety work. Announcement » · Release notes »
- · Northstar 1.0.3 released — the GPL-licensed single-process edition: Media Queries Level 4, CSSOM used values, and use-after-free fixes. Announcement » · Release notes »
- · Nordstjernen 1.0.19 released — a big step in web-standards conformance, a new animated about:start splash, and a fresh iOS port. Announcement » · Release notes »
- · Nordstjernen 1.0.18 released — a maintenance release. Announcement » · Release notes »
- · Nordstjernen 1.0.17 released — a maintenance release. Announcement » · Release notes »
- · Nordstjernen 1.0.16 released — a maintenance release. Announcement » · Release notes »
- · Nordstjernen 1.0.15 released — a maintenance release. Announcement » · Release notes »
- · Nordstjernen 1.0.14 released — a maintenance release. Announcement » · Release notes »
- · Nordstjernen 1.0.12 released — a maintenance release. Release notes »
- · Nordstjernen 1.0.11 released — a maintenance release. Announcement » · Release notes »
- · Nordstjernen 1.0.0 released — the first stable release. Announcement » · Release notes »
specifications
Two browsers, one clean-room engine. Nordstjernen is the flagship multi-tab browser; Northstar is the minimalist GPL-licensed single-window, single-process edition. Southstar, the Rust version, is in development and not yet released.
Swipe the table sideways to see both browsers.
| Nordstjernen 1.0.29 | Northstar 1.0.12 | |
|---|---|---|
| version | 1.0.29 — released 5 October 2026 · announcement | 1.0.12 — released 2 October 2026 · announcement |
| character | flagship browser · multi-window, multi-tab | minimalist edition · single window, single page |
| language | C · ~210 kLOC clean-room · GTK 4 shell · Java/JVM binding via JNI · fully auditable | C · ~160 kLOC original · GTK 4 shell · fully auditable |
| architecture | process-per-tab — each tab in its own sandboxed renderer process, IPC + shared-memory framebuffers | single process — all rendering in one compact, auditable process |
| html / css | lexbor (parser, WHATWG URL, selectors) | lexbor v3.0.1 (parser, WHATWG URL, selectors) |
| javascript | quickjs-ng v0.16.2 — bytecode interpreter, no JIT · original QuickJS selectable with -Dquickjs=quickjs |
quickjs-ng v0.17.0 — bytecode interpreter, no JIT · original QuickJS selectable with -Djs_engine=quickjs |
| text | ns-pango on the desktop — a Pango fork with a process-wide shaping cache · system Pango on Android and iOS | ns-pango — the same fork, sharded sixteen ways for thread throughput |
| webassembly | WAMR — interpreter behind the WebAssembly JS API |
WAMR (vendored subset) — interpreter |
| webgl | WebGL 1 & 2 — enabled by default since 1.0.20 · experimental WebGPU over wgpu-native, behind --enable-webgpu |
— |
| images | Wuffs v0.4 (PNG / APNG / GIF / BMP / JPEG / lossy WebP) · libwebp (animated WebP) · libavif (AVIF, optional) · ICO and SVG rendered in-engine · inline PDF (optional) | Wuffs v0.4 (PNG / APNG / GIF / BMP / JPEG / WebP) · AVIF (optional) · SVG rendered in-engine |
| media | inline <video> — MPEG-1 via pl_mpeg · WebM (VP9/VP8 + Opus/Vorbis) via optional FFmpeg · HLS and DASH fed through Media Source Extensions · WebVTT captions · SDL2 audio |
MPEG-1 <video> via pl_mpeg, with play, pause and seeking · audio — MP3, MP2, Ogg Opus/Vorbis · Web Audio graph · no H.264 and no Media Source Extensions, so streaming video sites do not play |
| printing | Ctrl+P through GtkPrintOperation — CUPS, Win32 or Cocoa · @media print, @page and page breaks · --dump=print:FILE to PDF · in process-per-tab mode since 1.0.24, vector output under --single-process |
Ctrl+P through GtkPrintOperation — CUPS, Win32 or Cocoa · @media print, @page and page breaks · --dump=print:FILE to PDF |
| extensions | — | WebExtensions — local extensions with content scripts, packaged resources, storage and runtime messaging |
| ai | none — no AI assistant and no AI-style web APIs, by design | none — no AI-style web APIs, by design |
| ui | GTK 4 (≥ 4.22.1 on Windows, ≥ 4.14 elsewhere) · tabs, page zoom that reflows, dark theme following the desktop · HiDPI rendering at the screen’s scale · tiled, GPU-composited scrolling | GTK 4 (≥ 4.14) · page zoom, dark theme following the desktop |
| network | libcurl ≥ 8.5 · HTTP/2, upgraded to HTTP/3 through the alt-svc cache · optional in-tree nghttp2 backend, with HTTP/3 over QUIC via ngtcp2 + nghttp3 · speculative loads reused rather than refetched · Vary-aware HTTP cache |
libcurl ≥ 8.5 · HTTP/2, upgraded to HTTP/3 through the alt-svc cache when the linked libcurl provides it · request deduplication and reusable preloads |
| hardening | process-per-tab · seccomp + Landlock sandbox on Linux · sandboxed renderer processes · no JIT · engine-wide security audit in 1.0.29 | Landlock filesystem sandbox + PR_SET_NO_NEW_PRIVS · default-deny seccomp filter on Linux · no JIT |
| privacy | no telemetry · client hints identify Nordstjernen, not Chrome · --private browsing mode · partitioned cookies · HSTS · CSP · SRI · on-device safe browsing |
no telemetry · HSTS · CSP · SRI · safe browsing via local blocklist |
| standards | 140 spec rows fully implemented, 31 partial, 0 absent · WHATWG HTML sections 1–16 · Web Platform Tests: 88.4% of subtests overall, 91.7% HTML (July 2026) | same engine lineage · behaviour measured against the spec text, section by section · Web Platform Tests: 46,653 of 68,725 subtests across 37 css/ areas (September 2026) · per-area scores in docs/compliance.md |
| platforms | linux (gtk) · alpine (musl) · windows · macos · android · ios · java/jvm · freebsd · netbsd | linux · macos · windows |
| license | dual-licensed since 1.0.28, at your option: GNU GPL v3 or later — free software · or NSL-1.0 → MIT after 10 years, inspired by the Functional Source License | GNU GPL v3 or later — free software |
| source | github.com/nordstjernen-web/nordstjernen-browser | github.com/nordstjernen-web/northstar-browser |
| docs | innovations in Nordstjernen · architecture guide | the Northstar Browser page · build instructions |
download
Latest release: Nordstjernen 1.0.29 — released 5 October 2026, with a portable Linux zip, a Debian/Ubuntu package for Ubuntu 24.04, Ubuntu 26.04 and Debian 13, and the source. Windows is on the Microsoft Store, Android on Google Play, and the macOS, openSUSE, Alpine, FreeBSD, NetBSD and Java packages from 1.0.23 are on the download page.
Northstar 1.0.12 — released 2 October 2026 — is on GitHub as GPL source and on the Microsoft Store for Windows; the most recent Linux binaries (a portable zip, an AppImage and a Debian package) are from 1.0.7. Northstar downloads »
Southstar, the Rust version, has no binaries yet — it builds from source on GitHub.
languages
English · 中文 · हिन्दी · Español · Français · العربية · বাংলা · Português · Русский · اردو · Bahasa Indonesia · Deutsch · 日本語 · Kiswahili · मराठी · తెలుగు · Türkçe · தமிழ் · Tiếng Việt · 한국어 · Norsk
