https://github.com/google/brunsli
Practical JPEG Repacker
https://github.com/google/brunsli
Last synced: 3 months ago
JSON representation
Practical JPEG Repacker
- Host: GitHub
- URL: https://github.com/google/brunsli
- Owner: google
- License: mit
- Created: 2019-03-13T19:34:04.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-05-13T14:01:07.000Z (over 1 year ago)
- Last Synced: 2025-04-19T22:27:10.390Z (9 months ago)
- Language: C++
- Homepage:
- Size: 13.8 MB
- Stars: 744
- Watchers: 26
- Forks: 51
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: security-privacy-questionnaire.md
Awesome Lists containing this project
- awesome-list - brunsli
README
### Introduction

Brunsli is a lossless JPEG repacking library.
Brunsli allows for a 22% decrease in file size while allowing the original
JPEG to be recovered byte-by-byte.
It is possible to try how much Brunsli will save on your images on the site [brunsli.dev](https://brunsli.dev). Images are transcoded in browser, no data is transmitted or stored. Codec is powered by [WASM](https://webassembly.org/) technology. _Safari uses "interpretation" mode for WASM at first few runs after the page load. It is much slower. To avoid long wait, please feed codec with small images first._
## Build instructions
Run the following commands to clone, configure and build Brunsli:
git clone --depth=1 https://github.com/google/brunsli.git
cd brunsli
git submodule update --init --recursive
cmake -DCMAKE_BUILD_TYPE=Release -B out
cmake --build out --config Release
## Prebuilt binaries
For some platforms (e.g. Windows) libraries and executables are uploaded as "artifacts" as a part of continous integration process.
Unfortunately, there is no static link to access those. Please follow the [GitHub manual](https://docs.github.com/en/actions/configuring-and-managing-workflows/persisting-workflow-data-using-artifacts#downloading-and-deleting-artifacts-after-a-workflow-run-is-complete).