# kornelski/pngquant

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/kornelski-pngquant).**

5,570 stars · 497 forks · C · other

## Links

- GitHub: https://github.com/kornelski/pngquant
- Homepage: https://pngquant.org
- awesome-repositories: https://awesome-repositories.com/repository/kornelski-pngquant.md

## Topics

`c` `conversion` `image-optimization` `palette` `png` `png-compression` `pngquant` `quality` `quantization` `smaller` `stdin`

## Tags

### Graphics & Multimedia

- [PNG Quantization](https://awesome-repositories.com/f/graphics-multimedia/color-quantization/png-quantization.md) — Converts full-color PNG images to 8-bit palette mode with alpha, drastically reducing file size. ([source](https://pngquant.org/vsphotoshop.html))
- [Palette Conversion Compressors](https://awesome-repositories.com/f/graphics-multimedia/lossy-compression-controls/palette-conversion-compressors.md) — Reduces PNG file sizes by converting 24-bit images to 8-bit indexed color with alpha, achieving 70% compression.
- [PNG Palette Compression](https://awesome-repositories.com/f/graphics-multimedia/lossy-compression-controls/png-palette-compression.md) — Reduces PNG file sizes by converting to 8-bit indexed color with alpha transparency, achieving 70% compression.
- [Adaptive Quality Adjustments](https://awesome-repositories.com/f/graphics-multimedia/adaptive-quality-adjustments.md) — Defines minimum and maximum quality levels that automatically adjust color count to meet visual targets. ([source](https://pngquant.org/lib))
- [PNG Quantizers](https://awesome-repositories.com/f/graphics-multimedia/color-quantization/png-quantizers.md) — Converts full-color PNG images to 8-bit palette mode with alpha transparency, reducing file size while preserving visual quality.
- [Library Quantizers](https://awesome-repositories.com/f/graphics-multimedia/color-quantization/rgb-quantizers/library-quantizers.md) — Ships the core quantization algorithm as a linkable library for use in other projects. ([source](https://pngquant.org/install.html))
- [Dithering Techniques](https://awesome-repositories.com/f/graphics-multimedia/dithering-techniques.md) — Controls dithering amount from none to full to reduce visible banding during quantization. ([source](https://cdn.jsdelivr.net/gh/kornelski/pngquant@main/README.md))
- [Adaptive](https://awesome-repositories.com/f/graphics-multimedia/dithering-techniques/adaptive.md) — Implements adaptive error-diffusion dithering that reduces noise compared to standard Floyd-Steinberg.
- [Adaptive Error Diffusion](https://awesome-repositories.com/f/graphics-multimedia/dithering-techniques/adaptive-error-diffusion.md) — Applies error diffusion only where neighboring pixels quantize to different palette indices, reducing noise in uniform areas. ([source](https://pngquant.org))
- [Dithering Level Controls](https://awesome-repositories.com/f/graphics-multimedia/dithering-techniques/dithering-level-controls.md) — Provides configurable dithering intensity from none to full during PNG quantization. ([source](https://cdn.jsdelivr.net/gh/kornelski/pngquant@main/README.md))
- [PNG Palette Compressors](https://awesome-repositories.com/f/graphics-multimedia/lossy-compression-controls/png-palette-compressors.md) — Reduces PNG file sizes by converting 24-bit images to 8-bit indexed color with alpha transparency, achieving 70% compression.
- [Palette-Based Image Editors](https://awesome-repositories.com/f/graphics-multimedia/palette-based-image-editors.md) — Converts RGBA pixel arrays into palette-based 8-bit indexed images with alpha transparency. ([source](https://pngquant.org/lib))
- [PNG Quantizers](https://awesome-repositories.com/f/graphics-multimedia/php-image-processing/png-quantizers.md) — Provides a PHP library binding to run pngquant for compressing PNG images programmatically. ([source](https://pngquant.org/php.html))
- [Alpha Preservation](https://awesome-repositories.com/f/graphics-multimedia/transparency-flattening/alpha-channel-removal/alpha-preservation.md) — Preserves full alpha channel transparency in palette mode for smaller files than 24-bit PNG. ([source](https://pngquant.org/vsphotoshop.html))
- [Adaptive Dithering Algorithms](https://awesome-repositories.com/f/graphics-multimedia/dithering-techniques/adaptive-dithering-algorithms.md) — Implements adaptive error-diffusion dithering that reduces noise compared to standard Floyd-Steinberg.
- [Quality Tuning](https://awesome-repositories.com/f/graphics-multimedia/game-graphics-upscalers/quality-tuning.md) — Adjusts processing speed from brute-force to fastest mode, trading up to 5% quality for 8x faster compression. ([source](https://pngquant.org/))
- [Speed-Quality Tradeoffs](https://awesome-repositories.com/f/graphics-multimedia/game-graphics-upscalers/quality-tuning/speed-quality-tradeoffs.md) — Adjusts processing speed from brute-force to fastest mode, trading up to 5% quality for 8x faster compression. ([source](https://pngquant.org))

### Artificial Intelligence & ML

- [Batch File Processors](https://awesome-repositories.com/f/artificial-intelligence-ml/agent-skill-management/file-management/agentic-run-file-exposers/batch-file-processors.md) — Applies compression to all PNG files in a directory with a single command, processing each sequentially. ([source](https://cdn.jsdelivr.net/gh/kornelski/pngquant@main/README.md))
- [Batch Image Processing](https://awesome-repositories.com/f/artificial-intelligence-ml/facial-landmark-detection/batch-image-processing.md) — Processes multiple PNG files in a single command with recursive directory traversal for bulk compression.
- [Color Quantization Refiners](https://awesome-repositories.com/f/artificial-intelligence-ml/k-means-clustering/color-quantization-refiners.md) — Generates optimal color palettes using median-cut initialization refined by iterative K-means clustering.
- [Accuracy-Speed Tradeoff Selectors](https://awesome-repositories.com/f/artificial-intelligence-ml/model-training/pose-model-architectures/accuracy-speed-tradeoff-selectors.md) — Chooses between slower higher-quality compression and faster lighter compression to suit batch processing or real-time generation. ([source](https://cdn.jsdelivr.net/gh/kornelski/pngquant@main/README.md))

### Part of an Awesome List

- [PNG Compressors](https://awesome-repositories.com/f/awesome-lists/ai/image-compression/png-compressors.md) — Reduces PNG file sizes by converting to 8-bit color with alpha transparency, often achieving 70% compression. ([source](https://cdn.jsdelivr.net/gh/kornelski/pngquant@main/README.md))
- [PNG Lossy Compressors](https://awesome-repositories.com/f/awesome-lists/ai/image-compression/png-lossy-compressors.md) — Reduces PNG file sizes by converting them to 8-bit color with alpha transparency, often achieving 70% compression. ([source](https://pngquant.org))
- [Quality Thresholds](https://awesome-repositories.com/f/awesome-lists/ai/image-quality-assessment/quality-thresholds.md) — Sets quality thresholds that automatically select the fewest colors needed to meet visual targets. ([source](https://cdn.jsdelivr.net/gh/kornelski/pngquant@main/README.md))
- [Image Processing Pipelines](https://awesome-repositories.com/f/awesome-lists/devtools/command-line-shells/image-processing-pipelines.md) — Integrates PNG compression into Unix pipelines via stdin/stdout streaming for shell script automation.
- [Quality Adjustment Controls](https://awesome-repositories.com/f/awesome-lists/devtools/feature-extraction/quality-adjustment-controls.md) — Tunes processing speed from brute-force slowest highest quality to fastest with slightly lower quality and much higher throughput. ([source](https://pngquant.org))

### Business & Productivity Software

- [Image Compressors](https://awesome-repositories.com/f/business-productivity-software/task-workflow-automation/productivity-task-management/productivity-tools/command-line/image-compressors.md) — Processes PNG files from the command line with batch, pipeline, and recursive directory support for lossy compression.

### Data & Databases

- [Batch Input Processing](https://awesome-repositories.com/f/data-databases/batch-input-processing.md) — Processes multiple PNG files in a single command using glob patterns for efficient bulk compression. ([source](https://cdn.jsdelivr.net/gh/kornelski/pngquant@main/README.md))
- [Vector Quantization](https://awesome-repositories.com/f/data-databases/vector-quantization.md) — Maps each pixel to the nearest palette entry using weighted distance calculations in color space.

### Development Tools & Productivity

- [Batch Image Processors](https://awesome-repositories.com/f/development-tools-productivity/batch-image-processors.md) — Compresses multiple PNG files in a single command with recursive directory traversal and shell script integration.
- [Recursive Batch Processing](https://awesome-repositories.com/f/development-tools-productivity/recursive-batch-processing.md) — Processes multiple PNG files with recursive directory traversal and shell script integration. ([source](https://pngquant.org/))
- [Quantization Speed Selectors](https://awesome-repositories.com/f/development-tools-productivity/terminal-scrolling-controls/scroll-speed-adjustments/progress-bar-speed-calibrators/quantization-speed-selectors.md) — Trades off between processing speed and output quality across ten levels for quantization. ([source](https://pngquant.org/lib))

### Operating Systems & Systems Programming

- [PNG File I/O](https://awesome-repositories.com/f/operating-systems-systems-programming/image-file-persistence/png-file-i-o.md) — Reads PNG files from the filesystem, compresses them, and writes the smaller result back to disk. ([source](https://pngquant.org/php.html))
- [8-Bit Palette Converters](https://awesome-repositories.com/f/operating-systems-systems-programming/image-file-persistence/png-file-i-o/8-bit-palette-converters.md) — Converts full-color PNG images to 8-bit indexed color with alpha transparency, drastically reducing file size. ([source](https://pngquant.org/releases.html))
- [Transparent PNG Compressors](https://awesome-repositories.com/f/operating-systems-systems-programming/image-file-persistence/png-file-i-o/transparent-png-compressors.md) — Reduces PNG file sizes by approximately 75% through conversion to 8-bit color while preserving transparency. ([source](https://pngquant.org/rust.html))

### User Interface & Experience

- [Vector Quantization Optimizers](https://awesome-repositories.com/f/user-interface-experience/color-palette-generators/vector-quantization-optimizers.md) — Generates high-quality color palettes using vector quantization and K-means refinement for visually accurate results.
- [Vector Quantization Palettes](https://awesome-repositories.com/f/user-interface-experience/color-palette-generators/vector-quantization-palettes.md) — Generates optimal color palettes using vector quantization and K-means refinement for visual accuracy. ([source](https://pngquant.org))
- [Shared Palettes](https://awesome-repositories.com/f/user-interface-experience/color-palette-generators/image-based-color-generators/shared-palettes.md) — Generates a single optimal palette from color statistics aggregated across multiple images. ([source](https://pngquant.org/lib))
- [Palette Size Limiters](https://awesome-repositories.com/f/user-interface-experience/color-palette-generators/image-color-extractors/palette-size-limiters.md) — Sets a maximum number of colors for the output palette, limiting the final image's color complexity. ([source](https://pngquant.org/lib))
- [Multi-Image Palette Generators](https://awesome-repositories.com/f/user-interface-experience/color-palette-generators/multi-image-palette-generators.md) — Generates a single optimal palette from multiple images for consistent color across a set of files.

### Programming Languages & Runtimes

- [Image Quantization Threading](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/multi-process-parallelism/image-quantization-threading.md) — Distributes quantization and remapping tasks across CPU threads for concurrent image processing.

### Scientific & Mathematical Computing

- [Quality-Gated Palette Selectors](https://awesome-repositories.com/f/scientific-mathematical-computing/color-palette-selection/quality-gated-palette-selectors.md) — Automatically selects the fewest palette colors needed to meet user-defined perceptual quality targets.

### Software Engineering & Architecture

- [Concurrent](https://awesome-repositories.com/f/software-engineering-architecture/execution-control/concurrency-controlled-schedulers/execution-schedulers/image-processing/concurrent.md) — Runs independent quantization and remapping operations in separate threads without interference. ([source](https://pngquant.org/lib))
- [Multi-Image Palette Aggregators](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-engineering/latency-optimization/latency-histograms/image-histogram-equalization/multi-image-palette-aggregators.md) — Aggregates color statistics from multiple images into a single histogram for consistent palette output.
