Falco (browser engine)
A from-scratch browser engine in Rust (poxk; MIT). It parses HTML, applies CSS, runs JavaScript, loads images, computes layout, and paints — either to a PNG or to a live interactive window you can scroll, click and fill forms in. Routed here 2026-08-05 and re-read 2026-08-10, when the repository turned out not to be the same repository (see The repo is younger than this page, below).
As of 2026-08-10 the README claims ~73,000 lines of Rust, a ~12 MB binary and 665 passing tests; the GitHub API reports 23★, 1 fork, 5 open issues, and no tags or releases.
Homonym warning — not the security tool. The well-known Falco is the CNCF runtime-security / eBPF threat-detection project; that is a
defensive-security-wikisubject. This Falco is an unrelated browser engine. Slug isfalco-browser-enginefor that reason; do not merge, and route a security-Falco source to defensive-security, not here.
The repo is younger than this page
On 2026-08-05 this page recorded 124★ / 15 forks, ~36,000 lines, a ~10 MB binary, and a repository created 2026-07-31 and actively pushed. On 2026-08-10 the GitHub API reports the same URL as created 2026-08-07T07:10:50Z — two days after the ingest that described it — with 23★ / 1 fork, a single push three minutes after creation, and nothing since.
Both readings are kept. The most economical explanation is that the repository was deleted and
re-created, which resets the creation timestamp and zeroes stars and forks while the working tree
carries on; the code is plainly the same project and has roughly doubled (36k → 73k lines, ~10 → ~12 MB)
over the same period. That is an inference from the timestamps, not something the project states
anywhere, and no announcement or note was found. A history rewrite would not move created_at, and a
transfer between accounts would not either.
What this costs the spoke. Star counts appear on most pages in this wiki as the only available adoption signal. Here one went from 124 to 23 in five days without anyone losing interest — the number did not measure a decline, it measured a new repository object. Treat a star count as a reading taken on a date against a repo that may not persist, which is weaker than this corpus has been treating it.
What it actually implements
Every module is written from scratch — not a wrapper around WebKit, Gecko or Chromium: an HTML5
tokenizer + tree builder, a CSS parser with the cascade and Selectors 4, a layout engine covering
inline/block flow plus flex, grid, table, float and absolute positioning, a custom JavaScript VM
(closures, generators, Promise, BigInt, Symbol), a font rasterizer, and a PNG encoder.
The 2026-08-10 read adds a layer the earlier one did not describe: a baseline JIT compiler targeting x86-64 (unavailable on macOS, which requires code signing), a WebAssembly interpreter (MVP plus SIMD and bulk memory), and a long list of Web Platform APIs — Crypto, Intl, Temporal, WebAudio, IndexedDB and others — alongside networking (HTTP, cookies, cache, WebSocket) and security modules (same-origin policy, CSP, sandboxing, certificates). Several of the most demanding names in that list are stubs by the project’s own account (WebGPU, WebCodecs, WebRTC), async work runs synchronously, and the spec-compliant HTML parser is not yet wired into the render pipeline. The pipeline is the textbook one: HTML → DOM → style tree → layout tree → paint commands → canvas. The README carries an “Honest status (what works vs what’s a stub)” section, which is the right signal for a project this size and the reason its claims are readable rather than marketing.
Why it belongs on the engine-diversity thread
This spoke’s roster is a Chromium/WebKit/Gecko monoculture with exactly one break from it: ladybird, the 501(c)(3) building an independent engine from scratch, filed as the roster’s “engine-diversity counter-note.” Falco is a second data point on that thread, and it changes the thread’s shape.
Ladybird and Falco share the one refusal that matters here — no fork; own engine — but they are not the same kind of thing:
- Ladybird is a funded non-profit aiming to be a usable, standards-compliant browser people eventually browse with, chasing neither AI nor a business model, only web-standards independence.
- Falco is a hobby/educational engine: ~73k lines, a ~12 MB binary, a MonoBank donation jar and no business model or user base. It is the from-scratch impulse as craft and learning, not as an institution.
So the engine-diversity story is not only “one serious non-profit versus the duopoly.” There is also a grassroots layer — individuals rebuilding the whole stack in Rust to understand it — and Falco is the spoke’s first evidence of it. That matters for the spoke’s open question on whether the AI-browser boom entrenches the monoculture or funds alternatives: Falco funds nothing and ships to no one, yet the from-scratch engine keeps getting rebuilt anyway, which suggests the impulse is partly independent of both the AI race and the money.
What it is not
Not a browser you would use, and not aimed at the AI/agentic, privacy or productivity currents this spoke sorts on — it has no product story on any of them. It is an engine, the layer beneath a browser, included because engine independence is one of the spoke’s live threads and this is a concrete instance of it. Rust is the shared substrate with ladybird (which pairs Rust with C++), worth noting as the language the from-scratch-engine movement is coalescing around.
Tier
T2 — first-party repository, concrete and code-verifiable (the architecture and feature list can be read straight from the source), the same basis on which ladybird is T2. The maturity is low and self-reported: a hobby engine with acknowledged stubs, so “renders HTML/CSS/JS” is a capability claim about a young codebase, not a standards-conformance result. The LOC, binary-size and test-count figures are README badges, unverified here. The repo-identity discontinuity above does not change the tier — the code is still first-party and readable — but it does mean no metric on this page is durable.