Midori Browser is a free, open source browsers & extensions project written in JavaScript and released under MPL-2.0. It has 396 GitHub stars, 26 forks and 13 open issues, and was last pushed 7 hours ago. On this registry it ranks #65 of 65 tracked projects in Browsers & Extensions, with 5 head-to-head comparisons available. It gained 1 stars over the last 6 tracked days.

What is Midori Browser?

Midori Browser is an MPL-2.0, Gecko-based web browser for Windows, Linux, and macOS that ships privacy-oriented defaults and a built-in protection extension, aimed at users who want a lightweight Firefox-derived browser rather than a Chromium or WebKit one.

What it is

Midori Browser is an open-source web browser distributed for Windows, Linux, and macOS and licensed under MPL-2.0. The registry files it under Productivity & Utilities / Browsers & Extensions, with JavaScript as the primary language, 396 stars, 26 forks, and 13 open issues. The README describes it as a lightweight, fast, and secure browser that promotes user privacy, and notes that the project has evolved to be based on the Gecko engine instead of WebKit. Its topic list confirms that positioning: browser, firefox-based, firefox-browser, firefox-fork, gecko, midori-browser, web, web-browser, webbrowser. The source tree carries the Firefox-derived engine in the engine/ directory, so the project lives squarely in the Firefox and Gecko ecosystem rather than in the Chromium or WebKit camps.

The concrete problem it solves is twofold. First, it replaces the WebKit engine that earlier Midori releases were built on, which is the specific technical substitution the README calls out. Second, it replaces a stock, unmodified Firefox build for anyone who wants privacy-oriented defaults and a protection extension present out of the box, along with workspace management, a customized new-tab page, and the ability to set custom branding and update configuration at build time. That last point matters for downstream distributors, because branding and update endpoints are configuration inputs to the build rather than after-the-fact tweaks.

Key capabilities

  • Privacy-oriented defaults with a built-in protection extension, rather than relying on the user to install one.
  • Workspace management and a customized new-tab page as first-party features.
  • Custom branding and update configuration exposed as build steps, which downstream distributors can drive.
  • Builds for Linux, macOS, and Windows from one repository.
  • Compatibility with Firefox WebExtensions, so the existing Firefox extension ecosystem applies.
  • A Debian and Ubuntu package repository at repo.astian.org, configured through midori-archive-keyring.gpg and /etc/apt/sources.list.d/midori.list, installable with sudo apt install midori.
  • npm and Amelia build scripts that wrap engine/mach, including npm run brand, npm run bootstrap:linux, npm run build:linux-x64, npm run browser, and verification through scripts/verify-build-output.sh.

Who uses it and how

  • Debian and Ubuntu desktop users add the Astian apt repository and install the midori package, getting updates through the normal package manager path.
  • macOS and Windows users download the current installer from the Midori website, since those platforms are not served by the apt repository.
  • Distributors and OEM-style consumers use the custom branding and update configuration features to ship a Midori build under their own identity and update channel.
  • Firefox extension users bring existing WebExtensions across, because the browser declares compatibility with that format.
  • Contributors build from source on Linux x86_64 or ARM64, macOS arm64 or x64, and cross-compile Windows targets from a Linux host.

Getting started

On Debian and Ubuntu, install from the Astian apt repository with sudo apt install midori after adding the keyring and sources list entry; on other platforms, download the current installer from the Midori website. Building from source instead runs npm ci, npm run brand, npm run bootstrap:linux, and npm run build:linux-x64, producing the binary under engine/obj-*/dist/bin/midori.

How it compares

The facts name no set of paid products that Midori replaces, so the closest reference point is Firefox itself: Midori is a Firefox-derived, Gecko-based browser, and it inherits Firefox WebExtensions compatibility while presenting different defaults, a different new-tab page, and workspace management. Where Firefox leaves privacy configuration and branding to extensions and enterprise policies, Midori treats privacy-oriented defaults, a protection extension, custom branding, and update configuration as properties of the build.

When to use it — and when not to

A self-hoster who builds from source must supply substantial infrastructure: at least 50 GB of free disk space, 16 GB of RAM recommended, Node.js 22 from .nvmrc, Python 3.11 from .python-version, plus Rust, Clang, and platform libraries, while Windows packages are cross-compiled from Linux in CI with msitools, dos2unix, wine64, and xvfb. Anyone who wants a quick single-command build, Chromium extension support, or a hosted managed option should look elsewhere. The honest limitations are that macOS packaging requires the signing credentials used by the release process, so unsigned forks face additional friction, and that apt-based installation is documented only for Debian and Ubuntu while everything else falls back to a website installer.

project readme (upstream, from github) — read inline

Midori Browser

Downloads ko-fi Telegram

Midori Browser Logo

Midori Browser is a lightweight, fast, and secure browser that promotes user privacy; it has evolved and is now based on the Gecko engine instead of WebKit.

Contents

Features

  • Privacy-oriented defaults and a built-in protection extension.
  • Workspace management and a customized new-tab page.
  • Custom branding and update configuration.
  • Builds for Linux, macOS, and Windows.
  • Compatibility with Firefox WebExtensions.

Install Midori

Debian and Ubuntu

sudo wget -O /etc/apt/trusted.gpg.d/midori-archive-keyring.gpg \
  http://repo.astian.org/midori-archive-keyring.gpg
echo "deb http://repo.astian.org midori main" | \
  sudo tee /etc/apt/sources.list.d/midori.list
sudo apt update
sudo apt install midori

For other platforms, download the current installer from the Midori website.

Build from source

This repository includes the Firefox-derived engine in engine/. Run all commands in this section from the repository root; the root does not contain a mach executable. The npm scripts invoke engine/mach through Amelia with the required Midori configuration.

The first build downloads toolchains and can take a long time. Reserve at least 50 GB of free disk space; 16 GB of RAM is recommended. Use the Node.js version in .nvmrc (currently 22) and Python in .python-version (currently 3.11). Rust, Clang, and platform libraries are also required.

Linux x86_64

Install Node.js 22 and Python 3.11 before continuing. The following is the supported manual development build on Debian or Ubuntu:

git clone https://github.com/goastian/midori-desktop.git
cd midori-desktop

sudo apt update
sudo apt install -y \
  build-essential libgtk-3-dev libdbus-glib-1-dev libxt-dev \
  libasound2-dev libpulse-dev libpython3-dev libdrm-dev \
  libcurl4-openssl-dev libx11-xcb-dev nasm yasm clang lld llvm curl \
  xauth xvfb

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
. "$HOME/.cargo/env"
node --version
python3.11 --version
rustc --version

npm ci
npm run brand
npm run bootstrap:linux
npm run build:linux-x64

The compiled browser is written below engine/obj-*/dist/bin/midori. Confirm the output and start it with:

bash scripts/verify-build-output.sh linux x86_64
npm run browser

For an ARM64 Linux build, install gcc-aarch64-linux-gnu and g++-aarch64-linux-gnu, then run:

npm run setup:linux-arm64
npm run build:linux-arm64
bash scripts/verify-build-output.sh linux aarch64

macOS

Install Xcode Command Line Tools, Homebrew, Node.js, Python 3.11, and Rust. Then install the additional tools and build for the host architecture:

xcode-select --install
brew install gnu-tar zstd
npm ci
npm run brand

cd engine
AMELIA_PLATFORM=darwin ./mach --no-interactive bootstrap \
  --application-choice browser --exclude macos-sdk
cd ..

npm run build:mac-arm64  # Apple silicon
# or: npm run build:mac-x64

The application is created under engine/obj-*/dist/Midori.app. Packaging is optional and requires the signing credentials used by the release process.

Windows targets

Windows packages are cross-compiled from Linux in the CI workflow. To reproduce that process on a Linux host, install the Linux dependencies listed above plus msitools, dos2unix, wine64, and xvfb; then run:

npm ci
npm run brand
AMELIA_PLATFORM=win32 MIDORI_CROSS_COMPILING=1 npm run bootstrap
npm run setup:windows
npm run build:win-x64
# or: npm run build:win-arm64

The executable is placed at engine/obj-*/dist/bin/midori.exe. A native Windows development environment is not documented or maintained by this repository; use the cross-compilation workflow above or the release artifacts.

Package a completed build

Building creates a runnable development binary. Packaging is a separate step and prepares distributable archives. For example, on Linux x86_64:

npm run package:linux-x64
npm run package:linux-x64-formats

The archives and native packages are written to dist/. Use the matching package:- script for macOS or Windows. Release builds additionally set CI-only environment variables and may require signing keys; do not set MIDORI_RELEASE for an ordinary local development build.

Tests and common recovery commands

npm test
npm run test:unit
npm run l10n:validate

If an engine checkout is missing or incomplete, retrieve and initialize it with npm run init. To remove local build output, use cd engine && ./mach clobber; the next build will be a clean rebuild.

Project layout

engine/    Firefox-derived source tree and build output
src/       Midori source additions and overrides
configs/   Branding and platform configuration
scripts/   Build, packaging, and validation helpers
tests/     Repository-level tests

Contributing

Before opening a pull request, keep changes focused and run the tests relevant to the files you modified. See CONTRIBUTING.md for contribution guidelines and GitHub Issues for open work.

Do not submit generated build output. For security issues, follow the security policy when it is available for the branch you are using.

Documentation and support

License

Midori Browser is licensed under the Mozilla Public License 2.0. Midori is based on Mozilla Firefox but is not affiliated with Mozilla.

Star History

Star History Chart

Frequently asked questions

Is Midori Browser free to use?

Midori Browser is open source under the MPL-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Midori Browser do?

Fast, secure, and privacy-focused web browsing

What is Midori Browser written in?

Midori Browser is primarily written in JavaScript. Its source is publicly available at https://github.com/goastian/midori-desktop, and it has 396 GitHub stars.