{"id":34667411,"url":"https://github.com/snesnopic/chisel","last_synced_at":"2026-06-15T10:01:11.807Z","repository":{"id":319663479,"uuid":"1064752780","full_name":"Snesnopic/chisel","owner":"Snesnopic","description":"Cross‑platform C++ project for lossless recompression/re-encoding of files using a variety of statically compiled libraries.","archived":false,"fork":false,"pushed_at":"2026-06-09T13:37:59.000Z","size":1459,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-09T14:12:57.246Z","etag":null,"topics":["cli","compression","cpp","linux","macos","recompression","windows"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Snesnopic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-26T13:56:51.000Z","updated_at":"2026-06-08T16:11:46.000Z","dependencies_parsed_at":"2026-03-03T18:04:55.393Z","dependency_job_id":"4d248b1b-629d-4fca-8aab-4c12c10e74b4","html_url":"https://github.com/Snesnopic/chisel","commit_stats":null,"previous_names":["snesnopic/monolith"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/Snesnopic/chisel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snesnopic%2Fchisel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snesnopic%2Fchisel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snesnopic%2Fchisel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snesnopic%2Fchisel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Snesnopic","download_url":"https://codeload.github.com/Snesnopic/chisel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snesnopic%2Fchisel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34357282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","compression","cpp","linux","macos","recompression","windows"],"created_at":"2025-12-24T19:19:57.356Z","updated_at":"2026-06-15T10:01:11.760Z","avatar_url":"https://github.com/Snesnopic.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# chisel\n\n**chisel** is a CLI tool and library that losslessly optimizes files.\n\nIt recursively explores folders, files inside ZIPs or **cover arts inside music files** (IDv3, APE tags etc.), and supports **160+ file formats** by integrating many specialized encoders.\nIt does NOT change the format of files (even when it would be beneficial to do so), supports checksum verification to verify that the raw data of files hasn't been altered, and doesn't discard metadata by default.\n\n---\n## Installation\n\n### Quick install\n\nThe easiest way to install `chisel` is via your package manager.\nChisel is available on [homebrew](https://brew.sh):\n```bash\nbrew update\nbrew tap snesnopic/tools\nbrew install chsl\n```\n\nIt is also available on [winget](https://github.com/microsoft/winget-cli):\n```powershell\nwinget update\nwinget install Snesnopic.Chisel\n```\n\n\u003e The executable name is 'chsl' because 'chisel' already exists in brew.\n\n### Building from source\n\nIf you prefer to compile chisel manually, please follow the build instructions below.\n\n## Requirements\n\nThe project fetches all its dependencies automatically via Git submodules.\n\n-   **All Platforms:**\n  -   `git` (with LFS support: run `git lfs install` once)\n  -   `cmake` (≥ 3.20)\n  -   `ninja` (recommended)\n  -   Rust toolchain (required for OptiVorbis integration; install via [rustup.rs](https://rustup.rs))\n-   **Linux:**\n  -   A modern C++23 compiler (GCC ≥ 11 or Clang ≥ 14)\n  -   `build-essential`, `pkg-config`\n  -   `autoconf`, `automake`, `libtool`, `m4`, `nasm`, `yasm` (required by some submodules)\n-   **macOS:**\n  -   Xcode Command Line Tools (Clang with C++23 support)\n  -   `pkg-config`\n  -   `autoconf`, `automake`, `libtool`, `nasm`, `yasm` (required by some submodules)\n-   **Windows:**\n  -   Visual Studio 2022 (with MSVC C++23 toolchain), `vcpkg`\n\n---\n\n## Installing dependencies\n\n### Linux\n\nThis command installs only the build tools. All libraries are submodules.\n\n```bash\nsudo apt-get update\nsudo apt-get install -y build-essential cmake ninja-build help2man pkg-config git \\\nautoconf automake libtool m4 nasm yasm ccache\ncurl https://sh.rustup.rs -sSf | sh\n```\n\n### macOS (Homebrew)\n\n```bash\nbrew update\nbrew install cmake ninja pkg-config git autoconf help2man automake libtool nasm yasm\ncurl https://sh.rustup.rs -sSf | sh\n```\n\n### Windows\nEnsure you have installed Visual Studio 2022 (with the \"Desktop development with C++\" workload), Git and vcpkg configured.\n\n```powershell\n# Download Visual Studio 2022 Community bootstrapper\nInvoke-WebRequest \"https://aka.ms/vs/17/release/vs_community.exe\" -OutFile vs.exe\n\n# Install \"Desktop development with C++\" workload\n.\\vs.exe --quiet --wait --norestart --nocache `\n  --add Microsoft.VisualStudio.Workload.NativeDesktop `\n  --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 `\n  --add Microsoft.VisualStudio.Component.Windows10SDK.22621\n\n# Install Rust toolchain\nInvoke-WebRequest https://win.rustup.rs/x86_64 -OutFile rustup-init.exe\n.\\rustup-init.exe -y\n```\n\n---\n\n## Building chisel\n\n### Clone the repository and initialize all submodules:\n```bash\n  git clone https://github.com/Snesnopic/chisel.git\n  cd chisel\n  git lfs install\n  git lfs pull\n  git submodule update --init --recursive\n```\n\n### Configure and build with CMake:\n```bash\nmkdir build \u0026\u0026 cd build\ncmake .. -DCMAKE_BUILD_TYPE=Release\ncmake --build . --config Release\n```\n\u003e If you have Ninja, you can add `-G \"Ninja\"` to the first command.\n\n### Opting out of specific encoders\n\nYou can also opt out of the OptiVorbis integration (which requires Rust) with `-DENABLE_OPTIVORBIS=OFF`.\nYou can do the same for MKV optimizations (libmkclean specifically) with `-DENABLE_MATROSKA=OFF`.\n\n## Usage\n\n`./chsl \u003cfile-or-directory\u003e... [options]`\n\n**Arguments:**\n-   `inputs...`\n    One or more files or directories to process.\n    Use `-` to read from `stdin`.\n\n**Options:**\n-   `-h, --help`\n    Show the help message and exit.\n\n-   `--version`\n    Display program version information and exit.\n\n-   `-o, --output \u003cPATH\u003e`\n    Write optimized files to PATH instead of modifying them in-place.\n    If the input is `stdin` (-), PATH must be a file.\n    Otherwise, PATH must be a directory.\n\n-   `--report \u003cFILE\u003e`\n    Export a final CSV report to the specified file.\n\n-   `-r, --recursive`\n    Recursively scan input folders.\n\n-   `-q, --quiet`\n    Suppress non-error console output (progress bar, results).\n\n-   `--dry-run`\n    Use chisel without replacing original files.\n\n-   `--no-meta`\n    Don't preserve files metadata. (Metadata is preserved by default).\n\n-   `--verify-checksums`\n    Verify raw checksums before replacing files.\n\n-   `--threads \u003cN\u003e`\n    Number of worker threads to use (default: half of available cores).\n\n-   `--log-level \u003cLEVEL\u003e`\n    Set logging verbosity (ERROR, WARNING, INFO, DEBUG, NONE). Default is ERROR.\n\n-   `--log-file \u003cFILE\u003e`\n    Write logs to the specified file (default: no file logging).\n\n-   `--include \u003cPATTERN\u003e`\n    Process only files matching regex PATTERN. (Can be used multiple times).\n\n-   `--exclude \u003cPATTERN\u003e`\n    Do not process files matching regex PATTERN. (Can be used multiple times).\n\n-   `--iterations \u003cN\u003e`\n    Number of iterations for Zopfli based compression (default: 15).\n\n-   `--iterations-large \u003cN\u003e`\n    Number of iterations for Zopfli on large images (default: 5).\n\n-   `--max-tokens \u003cN\u003e`\n    Number of tokens for FlexiGif compression (default: 10000).\n\n-   `--mode \u003cMODE\u003e`\n    Select how multiple encoders are applied to a file (`pipe` or `parallel`).\n    `pipe` (default): Encoders are chained; output of one is input to the next.\n    `parallel`: All encoders run on the original file; the smallest result is chosen.\n\n\n**Examples:**\n-   `./chsl file.jpg dir/ --recursive --threads 4`\n-   `./chsl archive.zip`\n-   `./chsl dir/ --report report.csv`\n-   `cat file.png | ./chsl - -o out.png`\n-   `cat file.png | ./chsl - \u003e out.png`\n\n---\n\n## How it works\n\n`chisel` scans the input file(s) to understand their actual format. On Windows, detection is currently based on file extensions, while on Linux and macOS it relies on `libmagic` for accurate MIME type detection. If a relevant `Processor` is found for the input, the file goes through a pipeline with 3 phases:\n\n**Phase 1: Extraction \u0026 discovery**\nThe system identifies files whose compatible `Processor`s are flagged as containers. This includes traditional archives (like ZIP or Tar), PDF documents, and even audio files (like MP3 or FLAC) that contain embedded cover art within their ID3/APE tags. These internal files are extracted to a temporary location and exposed to the pipeline recursively. This means `chisel` is perfectly capable of compressing an image inside a ZIP archive, inside another ZIP archive.\n\n**Phase 2: Recompression**\nAll discovered and extracted files are delegated to a thread pool. The worker thread will invoke the `recompress` function of the file's designated `Processor` (if available;not all formats are compressible, just like not all formats are containers).\n\nIf multiple processors are registered for the same file type, two modes of operation can occur, depending on the `--mode` flag:\n\n* **PIPE (Default):** Processors are chained sequentially. The optimized output of the first processor becomes the input for the next one, in the exact order they are registered in `processor_registry.cpp`.\n* **PARALLEL:** Every processor runs its `recompress` function simultaneously on a fresh copy of the original file, and the smallest resulting file is chosen. *(Note: This behavior is likely to be deprecated soon, as PIPE mode typically yields better cumulative results, and scenarios with multiple encoders for the exact same format are rare).*\n\nIf, at the end of this phase, the recompressed file is not strictly smaller than its original counterpart, the new file is discarded and the original is preserved.\n\n**Phase 3: Finalization**\nAll files that were originally classified as containers, and whose contents were extracted in Phase 1, are now rebuilt. The `Processor` will repack the container using the newly optimized internal files, preserving the original structure.\n\n---\n\n## Adding a new Processor\n\nExtending `chisel` with a new encoder or format requires just a few operations:\n\n1. **Define the Processor:**\n   Create a new header in `libchisel/include/processors/`, inheriting from `IProcessor`. You must meaningfully implement the required metadata methods:\n   * `get_name()`\n   * `get_supported_mime_types()`\n   * `get_supported_extensions()`\n   * `can_recompress()`\n   * `can_extract_contents()`\n\n2. **Implement the core logic:**\n   Write the implementation in `libchisel/src/processors/`.\n   * Implement `recompress()`, making sure to respect the `options.preserve_metadata` flag if applicable for your format.\n   * If your processor is a container, you must override `prepare_extraction()` and `finalize_extraction()`, ensuring the exact structure of the container is restored during finalization.\n   * *Note:* Implementing the `raw_equal()` method (used to verify that the meaningful content is bit-identical before and after compression) isn't strictly required to run the tool, but all tests run on the GitHub CI workers will execute with the `--verify-checksums` flag enabled, so it is highly recommended.\n\n3. **Register the Processor:**\n   The final step is to instantiate and register your new class inside the constructor of `ProcessorRegistry` in `libchisel/src/processor_registry.cpp`.\n\n---\n\n## Supported formats\n\n| Category      | Format                     | MIME                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | Extensions                                                                                                                                                                                                                                      | Libraries                             |\n|---------------|----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------|\n| Images        | JPEG                       | image/jpeg, image/jpg                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | .jpg, .jpeg, .jpe, .jif, .jfif, .jfi, .thm                                                                                                                                                                                                      | mozjpeg                               |\n| Images        | GIF                        | image/gif                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | .gif                                                                                                                                                                                                                                            | gifsicle, flexigif                    |\n| Images        | JPEG XL                    | image/jxl                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | .jxl                                                                                                                                                                                                                                            | libjxl                                |\n| Images        | WebP                       | image/webp, image/x-webp                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | .webp                                                                                                                                                                                                                                           | libwebp                               |\n| Images        | PNG / Android 9-Patch      | image/png, image/apng                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | .png, .apng                                                                                                                                                                                                                                     | zopflipng                             |\n| Images        | TIFF                       | image/tiff, image/tiff-fx                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | .tif, .tiff                                                                                                                                                                                                                                     | libtiff                               |\n| Images        | TrueVision TGA             | image/x-tga, image/tga                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | .tga, .targa, .icb, .vda, .vst                                                                                                                                                                                                                  | stb                                   |\n| Images        | Windows Bitmap             | image/bmp, image/x-ms-bmp                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | .bmp, .dib                                                                                                                                                                                                                                      | bmplib                                |\n| Images        | Windows Icon / Cursor      | image/x-icon, image/vnd.microsoft.icon                                                                                                                                                                                                                                                                                                                                                                                                                                                           | .ico, .cur                                                                                                                                                                                                                                      | internal, bmplib, zopflipng           |\n| Images        | Apple Icon Image           | image/x-icns                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | .icns                                                                                                                                                                                                                                           | internal, zopflipng                   |\n| Images        | Tencent Image Container    | application/x-gft                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | .gft                                                                                                                                                                                                                                            | internal                              |\n| Images        | Portable Anymap            | image/x-portable-anymap, image/x-portable-pixmap                                                                                                                                                                                                                                                                                                                                                                                                                                                 | .pnm, .ppm, .pgm                                                                                                                                                                                                                                | stb (read), internal (write)          |\n| Images        | JPEG 2000                  | image/jp2, image/jpx                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | .jp2, .j2k, .j2c                                                                                                                                                                                                                                | OpenJPEG                              |\n| Images        | MNG / JNG                  | video/x-mng, image/x-jng                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | .mng, .jng                                                                                                                                                                                                                                      | Internal (Zopfli, mozjpeg)            |\n| Images        | PCX / DCX                  | image/x-pcx, image/vnd.zbrush.pcx                                                                                                                                                                                                                                                                                                                                                                                                                                                                | .pcx, .dcx, .pcc                                                                                                                                                                                                                                | Internal (RLE)                        |\n| Images        | OpenRaster                 | image/openraster                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | .ora                                                                                                                                                                                                                                            | libarchive (ZIP-based)                |\n| Images        | SVG                        | image/svg+xml                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | .svg                                                                                                                                                                                                                                            | pugixml                               |\n| Documents     | XML Data                   | application/xml, text/xml, text/xsl, application/xhtml+xml, application/vnd.google-earth.kml+xml, application/gpx+xml, model/vnd.collada+xml, application/rss+xml, application/atom+xml, application/rdf+xml                                                                                                                                                                                                                                                                                     | .xml, .xhtml, .kml, .gpx, .dae, .rss, .atom, .xmp, .xsl, .xslt                                                                                                                                                                                  | pugixml                               |\n| Documents     | JSON Data                  | application/json                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | .json                                                                                                                                                                                                                                           | yyjson                                |\n| Documents     | Microsoft Office OOXML     | docx: application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.openxmlformats-officedocument.wordprocessingml.template\u003cbr\u003exlsx: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.openxmlformats-officedocument.spreadsheetml.template\u003cbr\u003epptx: application/vnd.openxmlformats-officedocument.presentationml.presentation, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.template | .docx, .docm, .dotm, .dotx, .xlsx, .xlsm, .xltm, .xltx, .pptx, .pptm, .potm, .potx, .ppsm, .ppsx                                                                                                                                                | -                                     |\n| Documents     | CFBF (Legacy Office / MSI) | application/x-ole-storage, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-msi, application/x-ms-spool                                                                                                                                                                                                                                                                                                                                                | .doc, .xls, .ppt, .msi, .msp, .mst, .pub, .vsd, .vss, .vst, .adp, .mdb, .mdt, .mpd, .mpp, .mpt, .rvt, .sldasm, .slddrw, .sldprt, .snt, .thumbs.db, .spl, .dot, .xlt, .pps, .chm, .fla, .one, .ost, .rfa, .rte, .wps                             | -                                     |\n| Documents     | OpenDocument               | odt: application/vnd.oasis.opendocument.text\u003cbr\u003eods: application/vnd.oasis.opendocument.spreadsheet\u003cbr\u003eodp: application/vnd.oasis.opendocument.presentation\u003cbr\u003eodg: application/vnd.oasis.opendocument.graphics\u003cbr\u003eodf: application/vnd.oasis.opendocument.formula\u003cbr\u003eodb: application/vnd.oasis.opendocument.database                                                                                                                                                                           | .odt, .ods, .odp, .odg, .odf, .odb                                                                                                                                                                                                              | -                                     |\n| Documents     | EPUB                       | application/epub+zip                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | .epub                                                                                                                                                                                                                                           | libarchive (ZIP-based)                |\n| Documents     | FictionBook                | application/x-fictionbook+xml                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | .fb2                                                                                                                                                                                                                                            | pugixml                               |\n| Documents     | Comic Book                 | CBZ: application/vnd.comicbook+zip\u003cbr\u003eCBT: application/vnd.comicbook+tar                                                                                                                                                                                                                                                                                                                                                                                                                         | .cbz, .cbt                                                                                                                                                                                                                                      | libarchive                            |\n| Documents     | vCard (Photo only)         | text/vcard, text/x-vcard                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | .vcf                                                                                                                                                                                                                                            | TagLib (base64)                       |\n| Documents     | XPS                        | application/vnd.ms-xpsdocument, application/oxps                                                                                                                                                                                                                                                                                                                                                                                                                                                 | .xps, .oxps                                                                                                                                                                                                                                     | libarchive (ZIP-based)                |\n| Documents     | Portable Executable (PE)   | application/x-msdownload, application/vnd.microsoft.portable-executable                                                                                                                                                                                                                                                                                                                                                                                                                          | .exe, .dll, .ocx, .scr, .cpl, .sys, .drv, .bpl, .icl, .rll, .vbx                                                                                                                                                                                | Internal                              |\n| Documents     | DWFX                       | model/vnd.dwfx+xps                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | .dwfx                                                                                                                                                                                                                                           | libarchive (ZIP-based)                |\n| Documents     | 3MF (3D)                   | application/vnd.ms-package                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | .3mf                                                                                                                                                                                                                                            | libarchive (ZIP-based)                |\n| Documents     | KMZ (Google Earth)         | application/vnd.google-earth.kmz                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | .kmz                                                                                                                                                                                                                                            | libarchive (ZIP-based)                |\n| Audio         | FLAC                       | audio/flac, audio/x-flac                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | .flac                                                                                                                                                                                                                                           | libFLAC, TagLib                       |\n| Audio         | Ogg (FLAC stream)          | audio/ogg, audio/oga                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | .ogg, .oga                                                                                                                                                                                                                                      | libFLAC, libogg                       |\n| Audio         | Ogg Vorbis/Opus            | audio/ogg, audio/vorbis, audio/opus                                                                                                                                                                                                                                                                                                                                                                                                                                                              | .ogg, .opus                                                                                                                                                                                                                                     | OptiVorbis, TagLib (covers)           |\n| Audio         | MP3                        | audio/mpeg                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | .mp3                                                                                                                                                                                                                                            | mp3packercpp, vbrfix, TagLib (covers) |\n| Audio         | M4A/MP4 (Cover Art only)   | audio/mp4, audio/x-m4a, video/mp4, video/quicktime, video/3gpp, video/3gpp2                                                                                                                                                                                                                                                                                                                                                                                                                      | .m4a, .mp4, .m4b, .m4v, .mov, .qt, .3gp, .3g2                                                                                                                                                                                                   | TagLib (covers)                       |\n| Audio         | WAV (Cover Art only)       | audio/wav, audio/x-wav                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | .wav                                                                                                                                                                                                                                            | TagLib (covers)                       |\n| Audio         | AIFF (Cover Art only)      | audio/x-aiff, audio/aiff                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | .aif, .aiff, .aifc                                                                                                                                                                                                                              | TagLib (covers)                       |\n| Audio         | Monkey's Audio             | audio/ape, audio/x-ape                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | .ape                                                                                                                                                                                                                                            | MACLib, TagLib                        |\n| Audio         | WavPack                    | audio/x-wavpack, audio/x-wavpack-correction                                                                                                                                                                                                                                                                                                                                                                                                                                                      | .wv, .wvp, .wvc                                                                                                                                                                                                                                 | wavpack                               |\n| Audio         | DSF (DSD Stream File)      | audio/dsf, audio/x-dsf                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | .dsf                                                                                                                                                                                                                                            | TagLib (covers)                       |\n| Audio         | DSDIFF                     | audio/dff, audio/x-dff                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | .dff                                                                                                                                                                                                                                            | TagLib (covers)                       |\n| Audio         | Musepack                   | audio/musepack, audio/x-musepack                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | .mpc, .mp+, .mpp                                                                                                                                                                                                                                | TagLib (covers)                       |\n| Audio         | TrueAudio                  | audio/tta, audio/x-tta                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | .tta                                                                                                                                                                                                                                            | TagLib (covers)                       |\n| Video / Audio | Matroska / WebM            | video/x-matroska, audio/x-matroska, video/webm, audio/webm                                                                                                                                                                                                                                                                                                                                                                                                                                       | .mkv, .mka, .webm                                                                                                                                                                                                                               | mkclean, TagLib (attachments)         |\n| Video / Audio | ASF / WMA / WMV            | audio/x-ms-wma, video/x-ms-wmv, video/x-ms-asf                                                                                                                                                                                                                                                                                                                                                                                                                                                   | .wma, .wmv, .asf                                                                                                                                                                                                                                | TagLib (covers)                       |\n| Video / Audio | Shockwave Flash            | application/x-shockwave-flash                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | .swf                                                                                                                                                                                                                                            | zlib                                  |\n| Archives      | Brotli                     | application/x-brotli, application/brotli                                                                                                                                                                                                                                                                                                                                                                                                                                                         | .br                                                                                                                                                                                                                                             | brotli                                |\n| Archives      | Zip                        | application/zip, application/x-zip-compressed                                                                                                                                                                                                                                                                                                                                                                                                                                                    | .zip, .air, .bsz, .cdr, .csl, .gallery, .gallerycollection, .galleryitem, .grs, .ita, .itz, .nbk, .notebook, .oex, .osk, .pk3, .puz, .stz, .vlt, .wal, .wba, .wmz, .wsz, .xap, .xl, .xmz, .xsn, .appx, .bar, .dwf, .easm, .rmskin, .sldx, .zipx | libarchive                            |\n| Archives      | Tar                        | application/x-tar                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | .tar                                                                                                                                                                                                                                            | libarchive                            |\n| Archives      | GZip                       | application/gzip, application/x-gzip                                                                                                                                                                                                                                                                                                                                                                                                                                                             | .gz, .tgz, .deb, .ipk, .svgz                                                                                                                                                                                                                    | libarchive, zopfli                    |\n| Archives      | BZip2                      | application/x-bzip2                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | .bz2                                                                                                                                                                                                                                            | bzip2                                 |\n| Archives      | Xz                         | application/x-xz                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | .xz                                                                                                                                                                                                                                             | liblzma                               |\n| Archives      | LZMA                       | application/x-lzma                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | .lzma                                                                                                                                                                                                                                           | liblzma                               |\n| Archives      | ISO                        | application/x-iso9660-image                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | .iso                                                                                                                                                                                                                                            | libarchive                            |\n| Archives      | CPIO                       | application/x-cpio                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | .cpio                                                                                                                                                                                                                                           | libarchive                            |\n| Archives      | AR (Static Lib)            | application/x-archive                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | .a, .ar, .lib                                                                                                                                                                                                                                   | libarchive                            |\n| Archives      | Zstandard                  | application/zstd, application/x-zstd                                                                                                                                                                                                                                                                                                                                                                                                                                                             | .zst, .tzst, .tar.zst                                                                                                                                                                                                                           | libzstd, libarchive                   |\n| Archives      | JAR                        | application/java-archive                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | .jar                                                                                                                                                                                                                                            | libarchive (ZIP-based)                |\n| Archives      | XPI                        | application/x-xpinstall                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | .xpi                                                                                                                                                                                                                                            | libarchive (ZIP-based)                |\n| Archives      | APK                        | application/vnd.android.package-archive                                                                                                                                                                                                                                                                                                                                                                                                                                                          | .apk, .ipa, .ipsw                                                                                                                                                                                                                               | libarchive (ZIP-based)                |\n| Archives      | VSIX / NuGet               | application/zip                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | .vsix, .nupkg                                                                                                                                                                                                                                   | libarchive (ZIP-based)                |\n| Archives      | Java EE                    | application/java-archive                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | .war, .ear                                                                                                                                                                                                                                      | libarchive (ZIP-based)                |\n| Archives      | Android Bundle             | application/vnd.android.package-archive                                                                                                                                                                                                                                                                                                                                                                                                                                                          | .aab                                                                                                                                                                                                                                            | libarchive (ZIP-based)                |\n| Archives      | Tencent Resource DB        | application/x-rdb                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | .rdb                                                                                                                                                                                                                                            | internal                              |\n| Archives      | Kanzi                      | application/x-kanzi                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | .knz                                                                                                                                                                                                                                            | kanzi                                 |\n| Fonts         | WOFF                       | font/woff                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | .woff                                                                                                                                                                                                                                           | zlib                                  |\n| Fonts         | WOFF2                      | font/woff2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | .woff2                                                                                                                                                                                                                                          | woff2                                 |\n| Scientific    | MSEED                      | application/vnd.fdsn.mseed                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | .mseed                                                                                                                                                                                                                                          | libmseed                              |\n| Databases     | SQLite                     | application/vnd.sqlite3, application/x-sqlite3                                                                                                                                                                                                                                                                                                                                                                                                                                                   | .sqlite, .db                                                                                                                                                                                                                                    | sqlite3                               |\n\n## Third-party libraries\n\nChisel works because it makes use of so many libraries. Here is a list of the incredible open-source projects that power its processors:\n\n- **[TagLib](https://github.com/taglib/taglib)**: Audio metadata and cover art extraction.\n- **[libarchive](https://github.com/libarchive/libarchive)**: Multi-format archive reading and writing (ZIP, Tar, GZip, etc.).\n- **[mozjpeg](https://github.com/mozilla/mozjpeg)**: High-performance JPEG recompression.\n- **[libwebp](https://github.com/webmproject/libwebp)**: WebP image encoding and decoding.\n- **[libpng](http://www.libpng.org/pub/png/libpng.html)**: PNG image handling.\n- **[zopfli](https://github.com/google/zopfli)**: Deflate/PNG optimization.\n- **[libflac](https://github.com/xiph/flac)**: Free Lossless Audio Codec handling.\n- **[libogg](https://github.com/xiph/ogg)**: Ogg container support.\n- **[libjxl](https://github.com/libjxl/libjxl)**: JPEG XL support.\n- **[wavpack](https://github.com/dbry/WavPack)**: WavPack lossless audio compressor.\n- **[libebml](https://github.com/Matroska-Org/libebml)** \u0026 **[libmatroska](https://github.com/Matroska-Org/libmatroska)**: EBML and Matroska container handling.\n- **[mkclean](https://github.com/Matroska-Org/libmkclean)**: Matroska/WebM optimization tool.\n- **[qpdf](https://github.com/qpdf/qpdf)**: PDF transformation and optimization.\n- **[zstd](https://github.com/facebook/zstd)**: ZSTD compression.\n- **[xz](https://tukaani.org/xz/)**: LZMA compression.\n- **[brotli](https://github.com/google/brotli)**: Generic-purpose lossless compression.\n- **[sqlite3](https://www.sqlite.org/)**: SQLite database engine.\n- **[OptiVorbis](https://github.com/OptiVorbis/OptiVorbis)**: Ogg Vorbis recompression (Rust-based).\n- **[gifsicle](https://github.com/kohler/gifsicle)** \u0026 **[flexigif](https://create.stephan-brumme.com/flexigif-lossless-gif-lzw-optimization/)**: GIF optimization.\n- **[libmseed](https://github.com/EarthScope/libmseed)**: miniSEED data format library.\n- **[pugixml](https://github.com/zeux/pugixml)**: Light-weight, simple and fast XML parser.\n- **[yyjson](https://github.com/ibireme/yyjson)**: High-performance JSON library.\n- **[libtiff](http://www.simplesystems.org/libtiff/)**: TIFF image support.\n- **[stb](https://github.com/nothings/stb)**: Single-file public domain libraries for images.\n- **[OpenJPEG](https://github.com/uclouvain/openjpeg)**: Open-source JPEG 2000 codec.\n- **[kanzi-cpp](https://github.com/flanglet/kanzi-cpp)**: Lossless data compressor port.\n- **[mp3packercpp](https://github.com/Snesnopic/mp3packercpp)**: mp3packer port.\n- **[corrosion](https://github.com/corrosion-rs/corrosion)**: CMake integration for Rust.\n\n## Why?\n\nChisel exists because I've been inspired by larger and more mature projects that have had something missing.\nSpecifically, I've always needed a cross-platform utility, that was contained in its size, that didn't require an interpreter or a terminal script to use it, and that could automatically handle IDv3 tags inside music files.\nThese are the tools that I have used, both personally and for research for this project.\n\n- https://nikkhokkho.sourceforge.io/?page=FileOptimizer\n- https://github.com/JayXon/Leanify\n- https://github.com/T-3B/rhefo\n- https://github.com/MartinEesmaa/awesome-compopt\n- https://github.com/ajslater/picopt\n- https://github.com/Wdavery/minuimus.pl\n- https://papas-best.com/optimizer_en\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnesnopic%2Fchisel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnesnopic%2Fchisel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnesnopic%2Fchisel/lists"}