What Is Luakit Web Browser?
Updated
Luakit is a highly configurable browser framework built on the WebKit web content engine and the GTK+ toolkit. It is written to be fast, extensible with Lua, and licensed under GNU GPLv3. It is primarily targeted at power users, developers, and anyone who wants fine-grained control over their browser's behavior and interface. If you want a browser you can script and reshape rather than a finished consumer product, Luakit is aimed at you; if you want a conventional point-and-click browser, it is probably not.
What Luakit actually is
Luakit is best understood as a framework rather than a fixed application. The page describes it as "a highly configurable browser framework based on the WebKit web content engine and the GTK+ toolkit." Two consequences follow from that framing:
- WebKit + GTK+ means rendering and widgets come from established libraries, so Luakit focuses on the control layer rather than reinventing a rendering engine.
- Lua extension means behavior and interface are customized through Lua rather than through a settings dialog. The project notes the codebase is only around 9000 lines, which is why building from source is described as usually very fast.
The current release listed on the site is Luakit 2.4.0, with a list of older releases also available.
Who it suits
| You are… | Luakit fits if… |
|---|---|
| A power user | You want to define keybindings, modes, and interface behavior yourself |
| A developer | You are comfortable editing Lua and building software from source |
| Someone wanting fine-grained control | You care more about scriptable behavior than about a polished default UI |
The site states the target audience directly: power users, developers, and anyone who wants fine-grained control over their web browser's behaviour and interface.
Interface and features shown
The screenshots on the site illustrate the modes and customization the framework supports:
- Normal mode when reading a web page
- Follow mode with several link hints visible (keyboard-driven link selection)
- An ad blocker settings page listing currently active filter lists
- A different theme with vertical tabs enabled
These are examples of what the configuration layer can produce, not a fixed feature list you get out of the box.
Supported operating systems
- Linux — actively supported
- BSD — actively supported
- Solaris — marked as not actively supported, but known to work
- Windows 10 — marked as not actively supported, but known to work, via WSL
- HURD — marked as not actively supported, but known to work
Because WebKitGTK+ does not natively support Windows, the Windows path runs through the Windows Subsystem for Linux.
Installing it
Linux
- Arch Linux: install the
luakitcommunity package or theluakit-gitpackage from the AUR. - Other distributions: download and build from source. The site notes a Debian package is in the works.
BSD
- FreeBSD and OpenBSD: install the
luakitpackage. - OpenBSD from source: build with clang instead of GCC, because the GCC version shipped with OpenBSD is outdated and will cause compilation errors.
Windows 10
Install the Windows Subsystem for Linux first, then download, build, and install Luakit from source following the source instructions.
Building from source
Required dependencies listed on the site:
- GTK 3
- WebKitGTK+ (
webkit2gtk) - Lua 5.1 or LuaJIT
- lfs (Lua File System)
- SQLite 3
The security condition you must check
The site carries an explicit WebKit security notice, and it is the single most important practical caveat. Switching to the WebKit 2 API improved the security situation considerably, but not all Linux distributions package an up-to-date WebKitGTK+, and several package very outdated versions with many known vulnerabilities.
As of September 2019, the page states that Arch, Debian, Fedora, Gentoo, and Ubuntu all had the latest version of WebKitGTK+, while OpenSUSE shipped an outdated and vulnerable version in their stable channel. The site puts the responsibility on the user: if you browse with Luakit, you must ensure your distribution packages an up-to-date WebKitGTK+.
Treat that date as a snapshot. Before relying on Luakit for everyday browsing, verify what WebKitGTK+ version your distribution currently ships rather than assuming the list still holds.
Deciding whether to use it
Choose Luakit if you are on Linux or BSD, you are willing to build from source where no package exists, and you want a Lua-scriptable browser you can shape to your own workflow. Look elsewhere if you need a supported Windows-native browser, a packaged installer with no build step, or a distribution whose WebKitGTK+ you cannot verify as current.