Format Atlas

Compare

Brotli vs Zstandard

Brotli and Zstandard (zstd) are distinct lossless stream formats. Brotli is used as HTTP content coding br; Zstandard offers configurable framed compression, streaming, and dictionary workflows.

Which format should you choose?

Consider Brotli for precompressed web text in a setup that serves br. Consider zstd for application data exchange or configurable levels and dictionaries when all endpoints support it. Test client support, storage, and compression costs with real data.

Good fit for Brotli

Storing losslessly compressed streams · Compressing content for compatible HTTP delivery

  • Precompressed web text when the server and client support Brotli
  • Exchanging compressed data between Brotli-capable tools

Good fit for Zstandard

Losslessly compressing files and streams · Compressing software packages and data transfers

  • Tuning compression speed and ratio when both endpoints support zstd
  • Streaming or dictionary-based compression workflows

Basic information

FieldBrotliZstandard
Extension.br.zst
MIME typeapplication/octet-streamapplication/zstd
Common usesStoring losslessly compressed streams · Compressing content for compatible HTTP deliveryLosslessly compressing files and streams · Compressing software packages and data transfers
How to openUse a Brotli-capable decompression tool or library. For precompressed web delivery, send Content-Encoding: br to compatible requests and check file naming, media type, and cache configuration.Use a zstd-capable decompression tool or library. Before processing an unfamiliar compressed file, check its source, expanded size, and available memory.
Export or convertTo convert to gzip or zstd, decompress and recompress. Verify the output with a checksum or content comparison, and measure size, encoding time, and receiver support. Do not infer HTTP headers or content only from the .br extension.To convert to gzip or xz, decompress and recompress. Compare file contents or checksums afterward, and consider size, time, settings, and receiver compatibility. A tar.zst combines a tar archive with zstd compression; .zst alone is not an archive.

Choose by use case

Precompressed web text when the server and client support Brotli

Storing losslessly compressed streams · Compressing content for compatible HTTP delivery

Brotli

Exchanging compressed data between Brotli-capable tools

Storing losslessly compressed streams · Compressing content for compatible HTTP delivery

Brotli

Tuning compression speed and ratio when both endpoints support zstd

Losslessly compressing files and streams · Compressing software packages and data transfers

Zstandard

Streaming or dictionary-based compression workflows

Losslessly compressing files and streams · Compressing software packages and data transfers

Zstandard

Key point 1

The formats are not byte-compatible; conversion requires decompression and recompression.

More on the differences

Key point 2

Brotli can be served as HTTP Content-Encoding: br and as a precompressed .br file. Zstandard has the application/zstd media type and needs zstd support at the receiver.

More on the differences

More on the differences

Choose for the delivery protocol and receiving tools, not an assumed universal size or speed win. Both formats compress streams rather than archiving multiple files; share any required dictionary assumptions with decoders.

  • Brotli and zstd use different frame or stream structures and cannot directly decode each other's data.
  • Brotli is a common web content coding. Zstandard supports configurable levels and optional dictionaries for suitable applications.
  • Compression ratio and speed depend on content, settings, and implementation. Convert by decoding then re-encoding, and verify output integrity.

Frequently asked questions

Can I rename a .br file to .zst?

No. Renaming does not convert the compressed data; decompress it and recompress with a zstd encoder.

Learn more

References and specifications