snappy

July 15, 2025 ยท View on GitHub

https://github.com/Brooooooklyn/snappy/actions Install size

!!! For snappy@6.x and below, please go to node-snappy.

More background about the 6-7 changes, please read this, Thanks @kesla .

๐Ÿš€ Help me to become a full-time open-source developer by sponsoring me on Github

Fastest Snappy compression library in Node.js, powered by napi-rs and rust-snappy.

For small size data, snappyjs is faster, and it support browser. But it doesn't have async API, which is important for Node.js program.

Install this package

yarn add snappy

Support matrix

node12node14node16node18node20node22
Windows x64โœ“โœ“โœ“โœ“โœ“โœ“
Windows x32โœ“โœ“โœ“โœ“โœ“โœ“
Windows arm64โœ“โœ“โœ“โœ“โœ“โœ“
macOS x64โœ“โœ“โœ“โœ“โœ“โœ“
macOS arm64โœ“โœ“โœ“โœ“โœ“โœ“
Linux x64 gnuโœ“โœ“โœ“โœ“โœ“โœ“
Linux x64 muslโœ“โœ“โœ“โœ“โœ“โœ“
Linux arm gnuโœ“โœ“โœ“โœ“โœ“โœ“
Linux arm64 gnuโœ“โœ“โœ“โœ“โœ“โœ“
Linux arm64 muslโœ“โœ“โœ“โœ“โœ“โœ“
Linux riscv64โœ“โœ“โœ“โœ“โœ“โœ“
Linux s390xโœ“โœ“โœ“โœ“โœ“โœ“
Linux powerpc64leโœ“โœ“โœ“โœ“โœ“โœ“
OpenHarmony arm64โœ“โœ“โœ“โœ“โœ“โœ“
Android arm64โœ“โœ“โœ“โœ“โœ“โœ“
Android armv7โœ“โœ“โœ“โœ“โœ“โœ“
Android x86โœ“โœ“โœ“โœ“โœ“โœ“
Android x64โœ“โœ“โœ“โœ“โœ“โœ“
FreeBSD x64โœ“โœ“โœ“โœ“โœ“โœ“
WebAssemblyโœ“โœ“โœ“

API

export function compressSync(input: Buffer | string | ArrayBuffer | Uint8Array): Buffer
export function compress(input: Buffer | string | ArrayBuffer | Uint8Array): Promise<Buffer>
export function uncompressSync(compressed: Buffer): Buffer
export function uncompress(compressed: Buffer): Promise<Buffer>

Performance

Hardware

OS: Windows 11 x86_64
Host: Micro-Star International Co., Ltd. MS-7C35
Kernel: 10.0.22000
Terminal: Windows Terminal
CPU: AMD Ryzen 9 5950X (32) @ 3.400GHz
Memory: 32688MiB

Result

Running "Compress" suite...
Progress: 100%

  snappy:
    4 220 ops/s, ยฑ0.66%   | fastest

  snappy-v6:
    2 018 ops/s, ยฑ0.84%   | 52.18% slower

  gzip:
    233 ops/s, ยฑ0.52%     | slowest, 94.48% slower

  deflate:
    235 ops/s, ยฑ0.45%     | 94.43% slower

  brotli:
    7 ops/s, ยฑ0.51%       | slowest, 99.85% slower

Finished 4 cases!
  Fastest: snappy
  Slowest: brotli

Running "Decompress" suite...
Progress: 100%

  snappy:
    8 528 ops/s, ยฑ1.03%   | fastest

  snappy-v6:
    6 357 ops/s, ยฑ1.76%   | 25.46% slower

  gzip:
    1 406 ops/s, ยฑ1.80%   | slowest, 83.51% slower

  deflate:
    1 435 ops/s, ยฑ1.88%   | 83.17% slower

  brotli:
    1 208 ops/s, ยฑ1.50%   | slowest, 86.99% slower

Finished 4 cases!
  Fastest: snappy
  Slowest: brotli