Fact-checked by Grok 2 weeks ago

Brotli

Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the , , and second-order context modeling. Developed by engineers including Jyrki Alakuijala and Zoltán Szabadka, it was introduced in late 2013 as an open-source project to improve web content compression efficiency. The Brotli compressed data format is formally specified in RFC 7932, published by the (IETF) in July 2016, defining a structure optimized for both density and decoding speed. Unlike earlier algorithms like , Brotli supports levels from 0 to 11, allowing trade-offs between speed and ratio, and it achieves 10-20% better for most text-based web assets compared to at equivalent speeds. By 2025, Brotli enjoys near-universal support across major web browsers, including , , , and , as well as widespread implementation in web servers like and . This adoption has made it a standard for reducing usage and accelerating page loads, particularly for HTTP responses, while maintaining compatibility as a content-encoding method.

Introduction

Etymology

The name "Brotli" derives from the word Brötli, the diminutive form of Brot meaning "," referring to a small or . This choice was made by the primary developers, Jyrki Alakuijala and Szabadka, based at Research in Zürich, , to evoke a lighthearted theme inspired by culinary traditions. The naming follows a playful convention in Google's compression projects, similar to the earlier Zopfli algorithm, which is also named after a traditional braided . This reflects the team's connection to Swiss culture through their base in , infusing the technical endeavor with a touch of regional heritage.

Definition and Purpose

Brotli is a free and open-source lossless data compression algorithm and associated file format developed by . Initially developed in 2013 for compressing web fonts in the WOFF 2.0 format, it enables the reduction of data size without any loss of information, making it suitable for various applications while preserving the original content integrity. The primary purpose of Brotli is to deliver superior ratios compared to established methods like and , coupled with efficient decompression speeds, to minimize usage in web transfers. This focus targets significant savings in data transmission over HTTP, particularly benefiting resource-constrained environments such as mobile networks. While Brotli functions as a general-purpose , it is particularly optimized for text-based web content, including , CSS, and files. Users can adjust its compression intensity through quality levels ranging from 0, which performs no compression for rapid processing, to 11, which maximizes density at the expense of encoding time.

History

Development

Brotli was initiated in 2013 by Google engineers Jyrki Alakuijala and Zoltán Szabadka as a compression algorithm specifically designed for WOFF 2.0, the Web Open Font Format version 2.0, to reduce the size of web font transmissions and thereby accelerate web page loading. The project emerged from Google's efforts to optimize font delivery in browsers, where large font files often contributed significantly to page weight, prompting the need for a more efficient encoding method tailored to font data structures. The primary motivation for Brotli's development was to overcome the limitations of existing compressors like , which, while fast, provided suboptimal ratios for web assets such as fonts and . Alakuijala and Szabadka aimed to achieve 20–26% better compression ratios than Zopfli—a Google-optimized variant of —on representative web content, including the Canterbury Corpus benchmark dataset, while maintaining decompression speeds comparable to . This focus on density improvements was driven by the goal of minimizing usage without excessively increasing computational demands on client devices. Early prototypes of Brotli underwent internal testing at Google, with iterative refinements to the format, including enhancements to the context model for text and fonts, achieving approximately 30% faster decompression on international HTML datasets compared to initial versions. These prototypes were integrated into Chrome's font rendering pipeline to evaluate real-world performance, validating the algorithm's efficacy for WOFF 2.0 before broader open-sourcing efforts. By late 2013, a simplified Brotli specification draft was prepared, alongside an open-source WOFF 2.0 converter, marking the transition from internal experimentation to standardization preparation.

Releases and Standardization

Brotli was open-sourced by in September 2015 under the permissive , making the reference implementation freely available for use and modification. This release marked the transition from internal development—initially focused on compressing web fonts in the WOFF2 format—to a general-purpose compression tool accessible to the broader community. The initial stable release, version 1.0.0, followed in September 2017, providing a reliable version for integration into various software ecosystems. In July 2016, the (IETF) formalized Brotli's compressed data format through 7932, establishing it as a standard method for HTTP content encoding. This specification detailed the bitstream structure, enabling interoperable implementations across servers, browsers, and other tools while ensuring compatibility with existing web infrastructure. In September 2025, 9841 further extended the format with support for shared dictionaries and large windows in a shared Brotli compressed data format. Subsequent releases emphasized , , and refinements. Version 1.0.0, issued in 2017, prioritized overall and refinement of the core for production use. By August 27, 2020, version 1.0.9 addressed critical issues, including an vulnerability (CVE-2020-8927) in the decoder and optimizations for encoder and decoder speed, alongside added support. The latest major update, version 1.2.0 released on October 27, 2025, incorporated minor efficiency enhancements such as faster encoding and reduced binary sizes through static initialization options. Recent IETF work, including RFC 9841 published in September 2025, formalized the Large Window Brotli variant as an experimental extension, allowing window sizes up to 1 GiB to better handle large-file scenarios.

Technical Description

Compression Algorithm

Brotli's compression process begins by dividing the input data into meta-blocks, each of up to 16 MiB (2^{24} bytes), which are processed independently to allow parallelization and streaming. Each meta-block consists of a header specifying its size and type—uncompressed, compressed, or empty (for the final block marking the end of the stream)—followed by the block's content encoded as a sequence of commands. This structure supports efficient handling of large inputs while maintaining low memory overhead during decompression. The core of Brotli's compression is a variant of the LZ77 algorithm, which identifies repeated strings via backward references consisting of a length and a pointing to prior data within a sliding window of up to 16 (addressable with 24 bits). are encoded using a combination of a Huffman-coded distance code and extra bits, with the final computed as \text{[distance](/page/Distance)} = ((\text{[offset](/page/Offset)} + \text{dextra}) \ll \text{NPOSTFIX}) + \text{lcode} + \text{NDIRECT} + 1, where offset derives from the distance code, ndistbits (up to 24), NPOSTFIX (0–3 postfix bits for precision), and NDIRECT (0–120 direct short distances); this encoding uses 5–31 bits total depending on the parameters. To enhance ratios for , LZ77 is augmented by a static of 122,784 bytes containing 121,918 common phrases and words, allowing references via special distance codes (16–23) that transform dictionary entries with offsets and lengths. Following LZ77 parsing, Brotli applies to the resulting symbols (literals, distances, and command prefixes) using adaptive Huffman codes with modeling. Contexts for literals are selected from up to 64 IDs (0–63) per block type, derived from the previous two uncompressed bytes via modes like LSB6 (least significant 6 bits of the prior byte) or UTF8-specific lookups, effectively providing 256 possibilities across block switches (0–255 types). Distance contexts use 4 IDs based on copy length (e.g., ID 0 for length 2). Huffman codebooks are either static (predefined for efficiency) or dynamic (built per meta-block from symbol frequencies using a simple coder), ensuring to local data statistics. Preprocessing in Brotli includes optional use of the static dictionary for backward references and techniques like meta-block alignment to byte boundaries for better encoding. The encoder supports 12 quality levels (0–11), trading compression speed for ratio; higher levels employ more iterations in LZ77 parsing (e.g., two iterations at maximum quality using entropic costs) and advanced optimizations like dynamic programming for command selection. An experimental large window extension, defined in RFC 9841, expands the sliding window to up to 62 bits (theoretically ~4 PiB), enabling better ratios on massive corpora by increasing maximum distances while raising encoding complexity and requiring 64-bit integers for full support. This mode signals via a special 14-bit pattern in the stream header, with distance extra bits up to 62.

Process

The Brotli decompression process is engineered for simplicity and high speed, enabling efficient decoding even on resource-constrained devices. It operates by sequentially parsing the compressed , reconstructing data through LZ77-based techniques, and assembling the output while maintaining low overhead. This prioritizes rapid execution over complex preprocessing, making it suitable for applications. Stream parsing begins with the reading the stream header, which specifies parameters like the size (ranging from 1 KiB - 16 B to 16 - 16 B) and the large window flag. The then processes meta-blocks in order, each preceded by a header that includes an "is last meta-block" flag, an "is uncompressed" flag, and the meta-block size (up to 16 of output). Compressed meta-blocks contain Huffman-coded data for literals, commands, and distances, while uncompressed ones deliver data directly. This sequential structure supports streaming decompression, allowing partial decoding of ongoing streams without buffering the entire input. LZ77 decoding reconstructs the original by emitting literals or copying segments from backward s within the sliding . The is managed as a ring buffer to track recent output, with the last four distances (initialized to 16, 15, 11, and 4) used for efficient . Backward references specify an and length, pulling from the ring buffer or, if applicable, the static (predefined words of 4 to 24 bytes). Commands, decoded from the meta-block, dictate whether to insert a literal, copy a distance , or handle matches, ensuring the output sequence matches the compressed representation. Huffman decoding employs fast, table-based lookups to interpret the efficiently. Symbols for literals (contexts 0 to 63), insert-and-copy commands, and distances (contexts 0 to 3) are decoded using dynamically built Huffman trees or context maps, which adapt based on prior symbols for better efficiency. If dynamic decoding encounters issues, such as invalid tree structures, the process falls back to predefined static Huffman codes or tables to ensure robustness and prevent decoding failures. These tables are constructed on-the-fly from the meta-block's prefix codes, using simple bit-reading operations for speed. Output assembly concatenates the decompressed contents of each meta-block, incorporating any inserted words directly into the stream. The writes literals and copied segments to the output sequentially, rejecting the stream if errors occur, such as meta-block lengths exceeding limits, invalid distances, or buffer overflows. This final stage ensures the complete, contiguous output without additional post-processing. The overall design emphasizes low resource consumption, using O(1) beyond the sliding window size to accommodate memory-limited environments like mobile devices. Implementations are advised to include sanity checks on parameters such as window size to guard against malformed inputs, further enhancing reliability without increasing overhead. This focus on allows Brotli decoders to operate swiftly across diverse .

Implementations

Reference Implementation

The reference implementation of Brotli is Google's official C library, hosted on GitHub, which provides a complete encoder and decoder for the Brotli compression format. Released under the permissive MIT license in 2015, the library includes the core components brotlienc for encoding and brotlidec for decoding, enabling lossless compression using a variant of the LZ77 algorithm combined with Huffman coding. Key features of this implementation encompass support for all 12 compression quality levels from 0 to 11, where level 0 prioritizes speed with minimal and level 11 maximizes density at the cost of higher computational demands. It also offers command-line tools via the brotli executable for straightforward and tasks, such as brotli -q 6 input.txt to compress a file at quality level 6, alongside integration APIs designed for embedding in C and C++ applications. The library is portable across multiple platforms, including Windows, macOS, , and embedded systems, due to its ANSI C codebase. The implementation remains actively maintained by , with regular updates addressing security, performance, and compatibility. The version 1.2.0 release in October 2025 introduced bug fixes, enhanced Large Window support in the encoder for handling binaries larger than 2 GiB, and optimizations like faster static dictionary initialization. This library serves as the default Brotli implementation in for web content decoding and in for system-level compression tasks.

Alternative Implementations

In addition to the reference C implementation, several alternative implementations and ports of Brotli have been developed to enhance licensing flexibility, support diverse programming environments, and enable specialized use cases. One notable reimplementation is the independent decoder by Mark Adler, released in 2016 under the Apache License 2.0, which provides compatibility for projects restricted from using the original MIT-licensed code while adhering strictly to the Brotli format specification. This version focuses solely on decompression and has been integrated into various open-source projects requiring permissive licensing. Ports to other programming languages have extended Brotli's accessibility beyond C. For JavaScript, particularly in browser environments, Emscripten-compiled versions convert the C reference code to WebAssembly, enabling client-side compression and decompression without native dependencies; examples include the brotli-wasm library, which supports both Node.js and browsers. In Rust, the brotli crate offers a direct port of the C implementation, providing no_std compatibility for embedded systems and kernel use while maintaining high performance for both encoding and decoding. Similarly, Python bindings via the Brotli package on PyPI wrap the C library using CFFI, allowing seamless integration into Python applications for tasks like data archiving and web serving. Specialized variants address hardware-specific optimizations. Brotli-G, introduced by AMD in 2022, adapts the algorithm for GPU acceleration, particularly suited for compressing graphics and digital assets, with CPU-based encoding and GPU-accelerated decoding to leverage parallel processing in graphics pipelines. Experimental research forks have explored large-window decoders, extending beyond the standard 24-bit window size (16 MB) to support up to 30 bits or more for improved compression on datasets with long-range redundancies, though these remain incompatible with the core specification and are primarily used in academic benchmarks. Brotli has also been integrated into popular compression tools. Extended versions of , such as the 7-Zip-zstd fork, incorporate Brotli support within the 7z container format for archiving, enabling users to create and extract Brotli-compressed archives alongside other methods like LZMA. natively supports Brotli for both compression and extraction of .br files, as well as embedding it in multi-format archives, making it available in a portable, open-source . In , Brotli is utilized in over-the-air () update utilities to compress system images, reducing download sizes and accelerating updates starting from 2017 implementations in the Android Open Source .

Performance

Benchmarks

Brotli's performance has been evaluated using standard corpora such as the , which consists of diverse file types totaling approximately 211 MB. At lower quality settings, such as level 1, Brotli achieves a of about 2.88 on this , with speeds reaching around 425 MB/s on modern CPUs. At maximum quality level 11, the compressed size reduces to roughly 50 MB, yielding a higher of approximately 4.2, though compression time increases substantially. Brotli offers 11 quality levels (0 to 11), balancing speed, ratio, and resource demands. At level , suitable for fast scenarios, throughput reaches about 290 MB/s, enabling rapid processing for dynamic content. In contrast, level 11 prioritizes density, with speeds dropping to around MB/s, but producing outputs up to 20-30% smaller than those at level for text-heavy data like assets. remains efficient across levels, typically 400-500 MB/s on contemporary , making it suitable for operations. The encoder's scales with quality and window size; at maximum settings (quality 11, window size 24 bits), it can require up to 256 for internal buffers and dictionaries during processing. The , however, is , using under 20 even for large , which supports its deployment in resource-constrained environments like browsers. In the 2025 release of version 1.2.0, Brotli incorporates optimizations such as static initialization for the encoder and , resulting in reduced binary sizes and faster startup times across platforms, enhancing overall efficiency without altering core ratios.
Quality LevelApprox. Compression Speed (MB/s)Relative Output Size Reduction vs. Level 1
1290Baseline
11~120-30% smaller

Comparisons

Brotli generally achieves 15-25% better compression ratios than and on text content, such as , CSS, and files, due to its advanced context modeling and features optimized for English-like text. However, Brotli's compression process is typically 2-3 times slower than at equivalent high-quality levels, making it more suitable for static content pre-compression rather than on-the-fly dynamic compression. speeds are comparable to , ensuring minimal impact on rendering in browsers. Compared to Zstandard (zstd), Brotli delivers comparable compression ratios at high quality levels (e.g., Brotli level 11 versus level 22), often being about 7% more succinct on mixed corpora, while offering faster speeds suitable for delivery. Zstd, however, excels in very fast compression modes (e.g., 1.75-3.6 times faster at low levels) and provides better ratios on binary files or when prioritizing speed over maximum density. Against LZMA and , Brotli demonstrates superior overall speed for web applications, with and rates that are 1.4-3 times faster, though it achieves lower ratios on executables and where LZMA's deeper analysis shines. Brotli's static , trained on , provides an edge in compressing English-like text by capturing common patterns more efficiently than LZMA's general-purpose approach. Key trade-offs in Brotli include its larger sliding window size of up to 16 (compared to gzip's 32 KiB), which improves ratios on larger web pages by allowing longer match distances. The Large Window Brotli extension further narrows the performance gap with on very large files by supporting windows up to 1 GiB, enhancing ratios without proportionally increasing overhead.

Applications

Web Compression

Brotli is integrated into and protocols via the "br" token in the Content-Encoding header, enabling servers to compress and transmit static assets like , CSS, and with reduced payload sizes. This mechanism allows web servers to negotiate with clients that support it, minimizing data transfer over the network while maintaining lossless . A prominent application is Brotli's mandatory use within the WOFF2 web font format, standardized by the W3C as a Recommendation in March 2018, where it compresses font data streams and metadata blocks for efficient delivery of web typography. This integration yields approximately 30% better compression ratios than the gzip-based WOFF1 format, significantly lowering the size of font files without quality loss. For dynamic content, Brotli facilitates server-side compression of resources such as responses from and minified scripts generated on-the-fly. Content delivery networks like implement this through custom modules that apply Brotli dynamically, optimizing delivery for real-time web interactions. These capabilities deliver bandwidth savings of up to 20% on mobile networks, easing data constraints for users on slower or metered . Furthermore, the resulting faster page load times indirectly enhance , as algorithms from providers like factor in speed metrics for ranking decisions.

Other Applications

Brotli has been integrated into various file archiving tools, enabling the creation and handling of .br compressed files for general-purpose storage and distribution. For instance, forks and plugins of , such as 7-Zip-zstd and Modern7z, provide native support for Brotli , allowing users to archive files with high compression ratios suitable for where bandwidth efficiency is critical. Similarly, incorporates Brotli as a option, leveraging its superior ratios over for archiving large datasets without encryption or multi-file bundling features inherent to the .br format. In embedded systems, Brotli finds application in updates and data transmission due to its efficient speed and low overhead, which are essential for resource-constrained devices. Platforms like Memfault utilize Brotli compression alongside for over-the-air () delivery, enabling reliable chunked transfers with reduced payload sizes in environments. This makes it preferable for scenarios where quick on low-power hardware minimizes processing demands without sacrificing compression effectiveness. For research and niche uses, extensions like Large Window Brotli support windows up to 1 GiB, improving for datasets with distant repetitions, such as large log files or genomic sequences. Experimental applications include video subtitle , where Brotli's high ratios benefit text-heavy metadata in streaming services, achieving better size reduction than for such content. Despite these advantages, Brotli's raw stream format lacks a magic number or identifiable header bytes, rendering it less common in Unix pipelines for automatic detection and decompression by tools like file(1) or libarchive. This absence complicates seamless integration in command-line workflows, as streams cannot be reliably probed without attempting decompression.

Adoption

Client Support

Brotli compression has seen widespread adoption in web browsers since its initial implementations in 2016. Google Chrome introduced support starting with version 50 in April 2016, enabling the "br" content-encoding for HTTPS resources. Mozilla Firefox followed shortly after with version 44 in January 2016. Apple added Brotli to Safari with version 11 in September 2017, while Microsoft Edge incorporated it beginning with version 15 in April 2017. By 2025, these implementations have achieved approximately 99% global browser coverage, reflecting near-universal availability across desktop and mobile environments.
BrowserVersionRelease Year
50+2016
44+2016
11+2017
15+2017
On mobile platforms, Brotli integration aligns closely with desktop browser timelines. Android's WebView component has supported Brotli since 2016 via Chrome's underlying engine, covering the majority of Android devices. iOS Safari gained full support with iOS 11 in 2017, matching the desktop Safari release. This enables efficient asset loading in mobile applications, including those from such as , where Brotli reduces bandwidth for video metadata and interface elements. Beyond browsers, Brotli is integrated into various end-user tools and libraries. The command-line client added Brotli decompression support in version 7.57.0, released in November 2017, allowing users to request and handle "br"-encoded responses with the --compressed flag. For JavaScript-based clients, particularly in environments, libraries such as the "brotli" package provide compression and decompression capabilities, enabling Brotli in custom HTTP clients and server-side rendering workflows since around 2016. As of November 2025, Brotli enjoys universal support across modern clients.

Server Support

Brotli integration in web servers enables dynamic compression of HTTP responses to reduce usage and improve load times. version 2.4.26 and later, released in 2017, includes the built-in mod_brotli module, which applies the Brotli output filter to compress content based on client Accept-Encoding headers. provides Brotli support through the ngx_brotli dynamic module, compatible with versions 1.11.0 and above since 2016, allowing configuration of compression levels and types in server blocks. Internet Information Services (IIS) supports Brotli via the official IIS Compression module, which incorporates a Brotli scheme provider for both static file serving and dynamic content generation, installable on and later. Content delivery networks (CDNs) have widely adopted Brotli to enhance edge caching and delivery efficiency, often with automatic negotiation of the "br" encoding token in HTTP/1.1 responses per 7231. enabled Brotli compression in September 2016, applying it to eligible text-based assets when browsers request it, resulting in typical size reductions of 20-30% over . Akamai's Brotli Support feature, available since 2017, caches and serves pre-compressed Brotli assets from origins while falling back to for unsupported clients. introduced Brotli in 2023, supporting both on-the-fly dynamic compression and static variants, configurable via VCL for custom levels up to 11. Additional backend tools and proxies facilitate Brotli handling in diverse infrastructures. supports Brotli by transparently passing encoded responses from upstream servers, though it lacks native compression capabilities and relies on backends like for generation. Varnish Cache can deliver Brotli-compressed objects since 2016 using fetch processors or VMOD extensions, enabling end-to-end support without built-in encoding. Serverless platforms such as integrate Brotli through custom or Lambda@Edge functions, which compress payloads in response handlers for API Gateway or CloudFront distributions. Adoption of Brotli on servers and CDNs has accelerated, particularly for static content. As of 2024 data from the HTTP Archive, over 55% of CDN-delivered resources utilize Brotli compression, up from 47% in 2022, with higher rates among top websites due to widespread CDN usage.

References

  1. [1]
    google/brotli: Brotli compression format - GitHub
    Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding ...Releases 22 · Issues 61 · Pull requests 12 · Actions
  2. [2]
    RFC 7932 - Brotli Compressed Data Format - IETF Datatracker
    This specification defines a lossless compressed data format that compresses data using a combination of the LZ77 algorithm and Huffman coding.
  3. [3]
    Brotli: A General-Purpose Data Compressor - Google Research
    Brotli is an open source general-purpose data compressor introduced by Google in late 2013 and now adopted in most known browsers and Web servers.
  4. [4]
    Optimize the encoding and transfer size of text-based assets | Articles
    Dec 11, 2023 · For gzip, compression settings range from 1 to 9, with 9 being the best. For Brotli, this range is 0 to 11, with 11 being the best. However, ...
  5. [5]
    Enable dynamic compression | Cloud CDN
    Brotli can yield an additional 10% to 20% reduction in download size for most content types over gzip, with similar decompression performance, making it faster ...
  6. [6]
    Brotli Accept-Encoding/Content-Encoding | Can I use... Support ...
    "Can I use" provides up-to-date browser support tables for support of front-end web technologies on desktop and mobile web browsers.
  7. [7]
    Brotli compression - Glossary - MDN Web Docs
    Jul 11, 2025 · Brotli is a general-purpose lossless compression algorithm. It compresses data using a combination of a modern variant of the Lempel-Ziv coding LZ77 algorithm.
  8. [8]
    Brotli
    Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm.
  9. [9]
    Introducing Brotli: a new compression algorithm for the internet
    Sep 22, 2015 · Brotli is a whole new data format. This new format allows us to get 20–26% higher compression ratios over Zopfli.
  10. [10]
    [PDF] Brotli: A general-purpose data compressor - Mark Adler
    1Brotli is a Swiss German word for a bread roll and literally means “small bread”. ... of Brotli compression be directed toward the other steps of the compression ...
  11. [11]
    Jyrki Alakuijala - Google Research
    Jyrki Alakuijala is an active member of the open source software community, and a data compression researcher. Jyrki works at Google as a Technical Lead/Manager ...Missing: developers | Show results with:developers
  12. [12]
    Brotli: A General-Purpose Data Compressor - ACM Digital Library
    It is publicly available on GitHub and its data format was submitted as RFC 7932 in July 2016. Brotli is based on the Lempel-Ziv compression scheme and planned ...
  13. [13]
    draft-alakuijala-brotli-08 - IETF Datatracker
    Network Working Group J. Alakuijala Internet-Draft Z. Szabadka Intended Status: Informational Google, Inc Expires: June 10, 2016 December 2015 Brotli ...Missing: development history 2013
  14. [14]
    WOFF File Format 2.0
    ### Summary of Brotli's Role in WOFF 2.0, Development Context, and Historical Notes
  15. [15]
    WOFF 2.0 (Brotli) Compression Update
    Nov 6, 2013 · WOFF 2.0 (Brotli) Compression Update from David Kuettel on 2013-11-06 (public-webfonts-wg@w3.org from November 2013)Missing: development Chrome integration
  16. [16]
    Use Brotli Compression Algorithm for WOFF 2.0 [41065949]
    Brotli is the byte-level compression algorithm of WOFF 2.0 font file format. This patch adds a dependency on the font-compression-reference repository.Missing: early development
  17. [17]
    Releases · google/brotli - GitHub
    Aug 31, 2023 · Brotli compression format. Contribute to google/brotli development by creating an account on GitHub.
  18. [18]
  19. [19]
    Release v1.2.0 · google/brotli
    ### Summary of Brotli v1.2.0 Release
  20. [20]
    Large-window brotli - Google Groups
    Sep 27, 2016 · Once the large-window brotli matures, it can become a good fit for file archiving, patching, and compression research with large corpora, ...Missing: variant introduction
  21. [21]
    RFC 9841: Shared Brotli Compressed Data Format
    Purpose. The purpose of this specification is to extend the brotli compressed data format [RFC7932] with new abilities that allow further compression gains.
  22. [22]
  23. [23]
  24. [24]
  25. [25]
  26. [26]
  27. [27]
  28. [28]
  29. [29]
  30. [30]
  31. [31]
    Google's Brotli compression algorithm, C++ Core Guidelines, and ...
    Sep 26, 2015 · In this week's edition of our open source news roundup, we take a look at Google's Brotli compression algorithm, Classroom for GitHub, ...
  32. [32]
    All the way up to 11: Serve Brotli from origin and Introducing ...
    Jun 23, 2023 · Gzip is a widely used compression algorithm that has been around since 1992 and provides file compression for all Cloudflare users. However, in ...
  33. [33]
    brotli, unbrotli - compress or decompress files - Ubuntu Manpage
    Brotli is a lossless compression algorithm for compressing files. Unbrotli is used to decompress files, and is equivalent to brotli --decompress.
  34. [34]
    Chrome Browser to Blaze With Brotli - TechNewsWorld
    Jan 21, 2016 · Brotli is supported on all six Blink platforms: Windows, Mac, Linux, Chrome OS, Android and Android WebView. Microsoft's Edge team ...
  35. [35]
    Review and verification of Brotli compressed data format specification.
    This project reviews and comments on the Brotli specification, and verifies the specification by constructing and testing a compliant decoder.Missing: components | Show results with:components
  36. [36]
    httptoolkit/brotli-wasm: A reliable compressor and ... - GitHub
    A reliable compressor and decompressor for Brotli, supporting node & browsers via wasm. Brotli is available in modern Node (12+) but not older Node or ...Missing: port | Show results with:port
  37. [37]
    brotli - crates.io: Rust Package Registry
    Aug 16, 2025 · The brotli crate is a Rust compressor/decompressor, a direct port of the C brotli compressor, avoiding the Rust stdlib, and a drop-in ...
  38. [38]
    Brotli - PyPI
    Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding ...
  39. [39]
    Brotli-G SDK - AMD GPUOpen
    Brotli-G is an open-source compression/decompression standard for digital assets (based on Brotli) that is compatible with GPU hardware.Missing: 2022 | Show results with:2022
  40. [40]
    large window brotli results available for a several corpora
    Aug 4, 2019 · Brotli's basic mode restricts backward reference window to 16 MB. It is not useful to compare 16 MB backward reference window to 32 MB or more with another ...Large Text Compression Benchmark - ENCODE.SU ForumThread: JSON preprocessors before brotli? And other performance ...More results from encode.su
  41. [41]
    mcmilk/7-Zip-zstd: 7-Zip with support for Brotli, Fast-LZMA2 ... - GitHub
    Usage and features of the full installation · compression and decompression for Brotli, Lizard, LZ4, LZ5 and Zstandard within the 7-Zip container format ...Releases · Issues · Pull requests · Actions
  42. [42]
    Free Brotli utility: compress, open, extract BR files - PeaZip
    Brotli faster-than-zip compression algorithm is available also for 7Z format, with Tino Reichardt's 7Z plugins (supported by PeaZip, providing Brotli, Lizard, ...<|control11|><|separator|>
  43. [43]
    Google is working to make OTA updates even smaller with Brotli ...
    Dec 31, 2017 · To this end, Google is bringing Brotli compression to OTA updates, making for smaller, faster updates. The change to compression on OTA updates ...
  44. [44]
    facebook/zstd: Zstandard - Fast real-time compression algorithm
    ... Silesia compression corpus. Compressor name, Ratio, Compression, Decompress. zstd 1.5.7 -1, 2.896, 510 MB/s, 1550 MB/s. brotli 1.1.0 -1, 2.883, 290 MB/s, 425 MB ...
  45. [45]
    Silesia Open Source Compression Benchmark - Matt Mahoney
    This benchmark ranks open source compressors on the Silesia corpus by total compressed size. (Mirror: silesia.zip, 67 MB, a few seconds to decompress; or ...
  46. [46]
    Minify and compress network payloads with brotli | Articles - web.dev
    May 5, 2019 · Note: Brotli has eleven quality levels from 0 (no compression) to 9 (maximum compression). A quality of 1 is very fast but less effective, ...
  47. [47]
    encode.h File Reference - Brotli
    Bigger input block size allows better compression, but consumes more memory. The rough formula of memory used for temporary input storage is 3 << lgBlock .
  48. [48]
    Functions to calculate approximate memory usage needed ... - GitHub
    Jul 3, 2016 · Is it possible to provide such functions? Such as : int64 BrotliCompressionMemUsage(int quality, int lgwin, BrotliEncoderMode mode);
  49. [49]
    Google's Brotli 1.2 Released After Two Years with Faster Compression
    Brotli 1.2 arrives after two years, improving speed, binary size, and Python security for Google's open-source compression library.Missing: 1.2.0 27
  50. [50]
    [PDF] Comparison of Brotli, Deflate, Zopfli, LZMA, LZHAM and Bzip2 ...
    Sep 1, 2015 · Brotli:11 is significantly faster in compression than zopfli and gives 20–26 % higher compression ratio.Missing: motivation | Show results with:motivation
  51. [51]
    Best practices for fonts | Articles - web.dev
    Oct 4, 2022 · Because it uses Brotli, WOFF2 compresses 30% better than WOFF ... Given the browser support, experts now recommend only using WOFF2: In ...
  52. [52]
    Results of experimenting with Brotli for dynamic web content
    Oct 23, 2015 · This post takes a look at a bit of history behind gzip and Brotli, followed by a performance comparison.Missing: origin bundling
  53. [53]
    What Is Brotli Compression? | How Does It Work? - Gcore
    Jun 18, 2024 · Brotli is a high-efficiency, lossless compression algorithm developed by Google that significantly reduces file sizes, enhancing web performance and decreasing ...
  54. [54]
    Brotli Compression: A Fast Alternative to GZIP Compression - Kinsta
    Mar 19, 2025 · You'll find that Brotli has near-universal support across browsers, if not some of the benchmark tools you're used to. Brotli is free to use ...<|control11|><|separator|>
  55. [55]
    Modern7z - tc4shell.com
    Modern7z is a plugin for the popular 7-Zip archiver. It adds support for the following leading-edge compression methods.
  56. [56]
    What is BR format (Brotli compressed files) - PeaZip
    Brotli compression algorithm was developed by Google continuing and superseding previous Zopfli project (which was meant for compatibility with standard zlib ...
  57. [57]
    Over-The-Air Update System with Memfault for $100/mo
    Advanced cloud features - Memfault supports retries, range queries, variable-sized chunks, HTTP/2, and brotli and GZip compression. Enhanced performance ...
  58. [58]
    Data Compression Techniques for Scaling
    Jul 27, 2025 · For metadata like episode information and subtitles, they apply Brotli compression because this content benefits from maximum compression ratios ...
  59. [59]
    Standardize some magic bytes to identify a brotli stream #298 - GitHub
    Jan 15, 2016 · Unfortunately, there is no magic bytes for brotli. In future brotli streams will be wrapped in some framing format which will have magic bytes that could be ...Missing: limitations Unix pipelines
  60. [60]
    Brotli - Just Solve the File Format Problem
    Aug 20, 2025 · Magic. Brotli files (and network traffic) do not have any magic bytes: the first bytes will have right-most bits from this table, which could ...Missing: limitations Unix pipelines<|separator|>
  61. [61]
    Brotli Test - Verify Brotli Compression Support - KeyCDN Tools
    Brotli compression is currently supported by the following browsers: Google Chrome: Chrome 49+; Mozilla Firefox: Firefox 44+; Opera: Opera 36+. Brotli Test Tool.
  62. [62]
    Introducing Brotli compression in Microsoft Edge - Windows Blog
    Dec 20, 2016 · Beginning with EdgeHTML 15.14986, Microsoft Edge supports Brotli as an HTTP content-encoding method. This change will be released to stable ...Missing: initial | Show results with:initial
  63. [63]
    Algorithm.brotli | Apple Developer Documentation
    The Brotli compression algorithm is a widely adopted content encoding method for the web. The Compression framework includes Brotli to provide decoding ...Missing: mobile Android
  64. [64]
    How to enable brotli compression on Android System Webview?
    Dec 4, 2020 · I found that Chrome for Android supports brotli, however the Android System Webview doesn't support brotli by default. For example, if I ...Does Chrome support Brotli? (Accept-Encoding does not contain br)Why do browsers (chromium-based and firefox) prefer gzip over brotli?More results from stackoverflow.com
  65. [65]
    brotli - NPM
    Jun 8, 2022 · A port of the Brotli compression algorithm as used in WOFF2. Latest version: 1.3.3, last published: 3 years ago. Start using brotli in your ...
  66. [66]
    Zlib | Node.js v25.1.0 Documentation
    The node:zlib module provides compression functionality implemented using Gzip, Deflate/Inflate, Brotli, and Zstd.
  67. [67]
    mod_brotli - Apache HTTP Server Version 2.4
    The BrotliCompressionQuality directive specifies the compression quality (a value between 0 and 11). Higher quality values result in better, but also slower ...
  68. [68]
    google/ngx_brotli: NGINX module for Brotli compression - GitHub
    Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding ...
  69. [69]
    IIS Compression : The Official Microsoft IIS Site
    IIS Compression is a collection of compression scheme providers that add support for Brotli compression and provide a better implementation of Gzip and Deflate ...
  70. [70]
    Brotli Support - Akamai TechDocs
    With Brotli Support enabled, the CDN serves Brotli-compressed assets from your origin server and caches them on ​Akamai​ edge servers.
  71. [71]
    Brotli: Compressing Data Efficiently | Fastly
    Feb 7, 2023 · In 2016 the IETF (Internet Engineering Task Force) approved the Brotli specification as RFC 7932, and it currently has greater than 94% adoption ...
  72. [72]
    Compression | HAProxy config tutorials
    HTTP compression allows you to shrink the body of a response before it's relayed to a client, which results in using less network bandwidth per request.
  73. [73]
    Varnish Cache and Brotli Compression - Resources
    Jul 5, 2016 · My answer was yes, Varnish Cache can serve brotli encoded responses and it can do so without native support for brotli.
  74. [74]
    CDN | 2024 | The Web Almanac by HTTP Archive
    Nov 11, 2024 · CDNs are leading in Brotli adoption, with over 55% of CDN served content using Brotli compression up from 47% in 2022. In contrast, less than 42 ...