On this page
Overview
BoringSSL is Google's fork of OpenSSL, designed around Google's TLS and cryptography needs. It is used in Chrome/Chromium, Android, and other programs and prioritizes coordinated updates across those consumers rather than long-term OpenSSL API compatibility.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Embed TLS and cryptographic primitives in C and C++ applications
BoringSSL starts from OpenSSL-style SSL and crypto APIs but evolves independently around Google's security, performance, and maintenance requirements.
Sources: [1]
Use the TLS implementation deployed in Chrome/Chromium and Android
The README identifies BoringSSL as the SSL library used in Chrome/Chromium, Android, and a number of other applications.
Sources: [1]
Best fit
Fits projects that explicitly track BoringSSL upstream
It is best suited to Chromium-family or other BoringSSL-aware projects and vendored integrations that can absorb upstream API changes alongside dependency updates.
Sources: [1]
Before adoption
It is not recommended as a general-purpose third-party OpenSSL replacement
The README explicitly says BoringSSL is not intended for general use and does not recommend third parties depend on it. There are no API or ABI stability guarantees, and consumers typically ship their own copy.
Treat tagged snapshots as pinned source revisions, not a long-term compatibility contract
The build system avoids system-wide installation by default because there is no stable ABI. Even when using a release tag, consumers should pin and update the source in coordination with their own code.
Official sources
- [1]BoringSSL 0.20260929.0 README(2026-10-04)
- [2]BoringSSL 0.20260929.0 build guide(2026-10-04)
- [3]BoringSSL 0.20260929.0 CMake configuration(2026-10-04)
- [4]BoringSSL 0.20260929.0 release(2026-10-04)
- [5]BoringSSL Apache 2.0 license(2026-10-04)
Supplemental curator note
BoringSSL explicitly does not recommend general-purpose third-party dependency use. Do not treat it as a stable drop-in OpenSSL replacement; prefer it when the consuming project already tracks and vendors BoringSSL revisions.
Try it in 3 steps
- 1
Fetch BoringSSL 0.20260929.0
Pin the reviewed tag. This is intended for evaluating a BoringSSL-aware project, not as a general OpenSSL replacement.
git clone --depth 1 --branch 0.20260929.0 https://github.com/google/boringssl.git boringssl-20260929 - 2
Configure a Release build with CMake and Ninja
CMake 3.22+ and C11/C++17 compilers are required. Do not install the library system-wide.
cmake -GNinja -S boringssl-20260929 -B boringssl-20260929/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF - 3
Build only the crypto, ssl, and bssl targets
Validate compilation of the libraries and CLI tool only. Pin the revision or tag in consumers because API and ABI stability are not guaranteed.
cmake --build boringssl-20260929/build --target crypto ssl bssl -j2
Growth
Growth trends · Last 30 days
2,280 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 65
- Open PRs
- 0
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
- Stars
- 2,280
- Forks
- 912
- Watchers
- 101
- Open issues
- 0
- Contributors
- 214
- Owner type
- Organization
- Primary language
- C++
- License
- Apache-2.0
- Repository last updated
- Oct 3, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- mkcert59,717 Stars
1 shared tag(s) · 2 shared category(s)
create a local CA and easily issue browser-trusted TLS certificates for localhost and development domains
Go - Gitleaks29,644 Stars
1 shared tag(s) · 2 shared category(s)
detect passwords, API keys, tokens, and other secrets in Git history, files, directories, and stdin
Go - Grype12,968 Stars
1 shared tag(s) · 2 shared category(s)
scan container images, filesystems, and SBOMs against vulnerability data and prioritize findings with EPSS, KEV, and VEX
Go - Syft9,633 Stars
1 shared tag(s) · 2 shared category(s)
generate SBOMs from container images, filesystems, and archives in CycloneDX, SPDX, and other formats
Go - GnuPG988 Stars
3 shared tag(s) · 1 shared category(s)
provide OpenPGP and S/MIME encryption, signatures, and key management with the GNU cryptography toolchain
C - Bitcoin Core90,305 Stars
3 shared tag(s) · Same language
Fully validate Bitcoin peer-to-peer blocks and transactions yourself while optionally running wallet and RPC services on the same node
C++
Report incorrect information
Tell us if any listing information is incorrect or outdated.