bare-browser logo

bare-browser

Bare is a de-Googled Chromium build for Android, built for privacy, control, and freedom on the web. It strips Google tracking, telemetry, and AI integration while keeping browser extensions and uBlock Origin. It adds background video playback, saving media from sites that normally block it, your choice of download manager, and more.

GitHub

What is it?

What it is

Bare Browser is a de-Googled Chromium build for Android, delivered as a patch series of 99 patches against a pinned Chromium Desktop Android revision (153.0.7999.0, commit 945b5115). It is not a fork: the repository contains only the diff between stock Chromium and Bare, adding features like real browser extensions (Bitwarden, Dark Reader, uBlock Origin), background video playback, media saving, and external download manager support, while removing Google tracking, telemetry, and AI integration.

Why it exists

Bare exists to give Android users more privacy, control, and freedom on the web. It addresses the gap between mobile Chrome's limitations and Chromium Desktop Android's capabilities, stripping Google services and AI features while preserving powerful functionality like desktop-grade browser extensions and uBlock Origin. It is built and maintained by a single developer with no corporate backing, no monetization, and no upsells, funded optionally through donations.

Who should use it

Privacy-focused Android users who want a de-Googled Chromium-based browser with real browser extensions like uBlock Origin and Bitwarden, developers interested in reproducible builds and patch-based modifications to Chromium, and users seeking background video playback, media saving capabilities, and control over download managers on mobile.

Who should avoid it

Users who rely on Google services integration such as Safe Browsing, Google Sign-In, or Google Password Manager, those needing support for armeabi-v7a or x86 Android devices, and individuals expecting a turnkey browser without building from source or understanding Chromium build processes.

Stars over time

+5 stars in the last 1 day

243238
Aug 30, 2026Aug 31, 2026

How it works

A quick walkthrough in plain English

How bare-browser works

Step 1 of 3

You interact with it

Open bare-browser, send a request, or connect it to your stack.

Features

Real desktop browser extensions on Android (Bitwarden, Dark Reader, uBlock Origin)
uBlock Origin (full version) pre-installed with Manifest V2 support
De-Googled Chromium build with telemetry, AI integration, and sign-in prompts removed
DuckDuckGo set as default search engine on new profiles
Background video/audio playback when locking phone or switching apps
Save media (video and audio) from sites including those that stream in pieces
Customizable external download manager support (e.g., 1DM) with option to keep in-browser
H.264 and AAC codec support
Fullscreen video that respects rotation lock and clears camera cutout
No white flash on dark theme loading, with optional forced darkening of light sites
Ability to add custom search engines via Settings
Link handling that keeps web links in-browser while preserving tel:, mailto:, sms: scheme behavior
Patch series approach (99 patches against pinned Chromium revision) rather than a fork
Reproducible build verification via content hashing
ARM64 and 32-bit ARM build support

Advantages

  • Strong privacy focus with Google tracking, telemetry, and AI integration removed
  • Extensive documentation of what every patch does and network behavior
  • Patches are reviewable and auditable (99 patches, 6262 insertions across 239 files)
  • Open-source under BSD-3-Clause license with transparent build process
  • Supports full desktop browser extensions on mobile, which stock Chrome does not
  • uBlock Origin ships unmodified from upstream, preserving original signature and extension ID
  • Builds are reproducible (excluding signature), allowing independent verification
  • No company behind it, no upselling, single-maintainer transparency
  • Detailed known limitations and 'not done yet' sections set honest expectations
  • Components retained are justified (CRLSet, PKIMetadata, Widevine, etc.) with clear rationale
  • Clear build instructions with Docker containerization

Disadvantages

  • Safe Browsing is non-functional and no longer claims to be, leaving users without phishing/malware protection
  • Extension popups can be cropped on phone screens due to hardcoded max size
  • Omnibox gets squeezed when multiple extensions are pinned (only unpinning all but one works around it)
  • All http(s) navigations stay in-browser, breaking some OAuth flows and deep links that expect app handoff
  • DuckDuckGo default only applies to new profiles; existing profiles retain Google as default
  • New Tab Page still includes Discover feed
  • External downloads lose sign-in cookies, causing failures for files requiring authentication
  • Passkeys work only through third-party password managers and require one-time trust setup
  • Web Push is removed entirely (consequence of GCM channel removal)
  • Password managers require manual setting change (Settings → Autofill options → use another service)
  • Custom search engines show no logo on new tab page
  • Downloaded adaptive streams arrive as separate video and audio files requiring user to join them
  • Segmented HLS and DASH streams cannot be downloaded
  • Not usable as a YouTube downloader (recommends Seal/yt-dlp instead)
  • DRM-protected streaming (Netflix, etc.) is untested end-to-end
  • DRM-protected media cannot be downloaded
  • First incognito tab of a session is slow to appear
  • Third-party autofill can intermittently stop being offered mid-session
  • arm64 only is the main focus; no support for armeabi-v7a or x86
  • Building requires Docker with 32 GB RAM allocation and ~100 GB free disk space
  • Safe Browsing, Google XR SDKs, and other features blocked by single call sites cannot yet be removed
  • Single maintainer ('one person and one phone') presents bus factor risk
  • Widevine registration still tells Google an install exists, with install date, cohort, and version
  • Component updater still contacts update.googleapis.com without user prompt after first run
  • Version is still alpha (1.0.0-alpha.2)

Installation

cloud

No cloud deployment options available.

docker

Allocate at least 32 GB to the Docker VM. Run ./builder.sh build then ./builder.sh start to manage the container. The build environment is defined in docker/ directory.

native

Clone depot_tools (git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git ~/depot_tools), then fetch Chromium (mkdir -p /work/chromium && cd /work/chromium && fetch --nohooks android && cd src && git checkout 945b5115 && gclient sync -D --force --reset), apply patches (git am /exchange/patches/*.patch), copy uBlock Origin extension, configure GN arguments in out/Bare/args.gn, generate with gn gen out/Bare, and build with autoninja -C out/Bare chrome_public_apk. Requires ~100 GB disk space, arm64 Android device for testing.

compose

docker-compose.yml defines the build environment in the repository root.

FAQ

How can I verify that a downloaded Bare APK is the official release?

Compare its SHA‑256 hash with the one published on the release page and verify the signature using `apksigner verify --print-certs`. The hash is published by the same maintainer, and the signature shows the certificate CN=Bare Browser, O=Bare Browser, OU=Release.

What are the requirements to build Bare yourself?

You need Docker with at least 32 GB RAM allocated, ~100 GB free disk space, and an arm64 Android device for testing. Builds run in an Ubuntu 22.04 x86_64 container (Rosetta emulation on Apple Silicon).

Which Google services does Bare still contact and why?

On subsequent launches it contacts update.googleapis.com for component updates (security and compatibility). On first run uBlock Origin fetches its filter lists, and the update check contacts GitHub once per day with only the Bare version in the User‑Agent. All other telemetry, AI, Safe Browsing, etc., have been removed.

Can I build or run Bare on a non‑arm64 device?

No. The repository only provides arm64 builds; there are no armeabi‑v7a or x86 builds, so older phones or emulators cannot install the APK.

What are the main limitations with extensions and downloads?

Extension popups may be cropped because the max width is hard‑coded to 800 dp; the omnibox can become squeezed with many pinned extensions. Downloads of adaptive streams arrive as separate video and audio files, segmented HLS/DASH pieces are not assembled, and DRM‑protected media cannot be downloaded.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for bare-browser

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
bare-browser | MushyBook