30 open-source projects similar to googlechromelabs/squoosh, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
ffmpeg.wasm is a browser-based multimedia processing engine that brings the capabilities of the FFmpeg library directly to the client environment. By utilizing WebAssembly, it enables audio and video transcoding, format conversion, and stream recording to occur entirely within the browser without requiring server-side infrastructure. The library distinguishes itself by executing resource-intensive media tasks in background threads, ensuring that the main user interface remains responsive during complex operations. It manages data through an isolated, in-memory virtual file system, allowing fo
imagemin is a Node.js image optimizer and minification tool designed to reduce the storage size of image assets. It functions as a build pipeline asset optimizer that employs both lossy and lossless compression to remove unnecessary metadata and optimize pixel data. The project uses a plugin-based architecture to extend its functionality, loading external modules that handle specific image formats and compression algorithms. This allows the tool to serve as a flexible toolkit for automating image compression within development pipelines. The system covers broad capabilities for web performan
This project is a PHP library designed to automate image compression by orchestrating external command-line binaries. It provides a unified interface for managing the execution, configuration, and error handling of system-level tools, allowing developers to integrate image optimization directly into server-side application workflows or automated build pipelines. The library distinguishes itself through its ability to chain multiple independent processing tools into a single, sequential workflow. By defining custom optimization sequences and configuring specific command-line arguments, users c
AssemblyScript is a compiler and tooling suite used for WebAssembly module development. It converts a subset of TypeScript syntax into binary modules to achieve high execution speeds and cross-platform binary execution. The project focuses on translating typed source code into the compact binary format required by WebAssembly runtimes. This allows for the movement of computationally heavy logic into binary modules for browser performance optimization and execution across different operating systems. The compilation process involves TypeScript-compatible syntax analysis and the generation of
FilePond is a JavaScript library designed for managing file uploads, providing a browser-based component that handles selection, validation, and asynchronous transmission to remote servers. It functions as a web form input element that supports drag-and-drop interactions, file property verification, and queue management to ensure that only permitted content is submitted. The library distinguishes itself through extensive client-side media processing capabilities, allowing users to edit, crop, resize, and filter images and videos directly in the browser before transmission. It includes automat
Partytown is a library designed to offload resource-intensive third-party scripts to background web workers. By executing these scripts outside of the main thread, it prevents them from blocking the critical rendering path, thereby maintaining a responsive user interface and improving overall page load performance. The project functions as a web worker proxy library that synchronizes browser interfaces between the main thread and background environments. It uses proxy-based access and synchronous messaging to replicate global objects like the window and document, allowing scripts to interact
This project is a jQuery-based file upload widget that provides a browser interface for selecting and transferring files to a server. It functions as a chunked file uploader and a resumable upload client, enabling the transfer of large files by splitting them into smaller segments or continuing interrupted uploads from the last successfully sent byte. The tool includes a client-side image processor for validating, resizing, and generating previews of images before transmission. It also serves as a cross-domain upload tool, using various transport mechanisms to send files to different domains
Dropzone is a JavaScript file upload library that provides a browser-based interface for capturing dropped files and transmitting them to a server. It functions as a multipart upload client, splitting large files into smaller chunks to increase transmission reliability and bypass server size limits. The library includes a client-side image processor capable of resizing images and correcting photo orientation in the browser before they are sent to a server. It generates image thumbnails and visual previews immediately after selection, and can render previews for files already hosted on a serve
This project provides a full Python interpreter compiled to WebAssembly, enabling the execution of Python code and scientific libraries directly within web browsers and server-side environments. By bridging the gap between language runtimes, it allows developers to run computational tasks, manage packages, and perform data analysis in client-side environments without requiring a backend server. The platform distinguishes itself through a comprehensive foreign function interface that enables bidirectional data exchange, object proxying, and function calling between Python and JavaScript. It in
BentoPDF is a browser-based document toolkit designed for local-first PDF manipulation, conversion, and metadata management. By executing all file processing tasks directly within the browser sandbox, the application ensures that sensitive data remains on the user's device and is never uploaded to or stored on external servers. The platform distinguishes itself through a modular architecture that supports dynamic remote script loading and the integration of external processing engines. Users can extend the core functionality by connecting third-party libraries, which are executed as compiled
Wasmtime is a WebAssembly runtime and sandboxed bytecode executor designed to run WebAssembly bytecode on a host system. It functions as an embeddable engine that integrates into applications through native APIs and language-specific bindings, as well as a standalone execution environment accessible via a command line interface. It is a WASI compatible runtime, implementing the WebAssembly System Interface to provide portable access to system resources. The engine utilizes a JIT compilation model to translate intermediate representation into optimized machine code for various CPU architecture
JupyterLite is a WebAssembly-based interactive notebook environment that enables browser-based computing without a backend server. It provides a client-side data science sandbox where users can execute programming language kernels and run interactive notebooks entirely within the web browser. The project allows for the creation of tailored distributions by pre-installing specific language packages, bundling custom wheels, and applying environment configurations. It supports the generation of static sites that can be deployed to any standard HTTP host, including the ability to package the envi
NoteShrink is a document image optimizer and handwritten note PDF converter designed to transform scans of handwritten pages into compact, high-contrast digital documents. It functions as an image optimization pipeline that isolates foreground text from backgrounds to reduce the total storage size of the resulting files. The utility minimizes the disk footprint of digitized notes through a combination of color palette reduction and the use of external image compression tools. This process removes background noise and limits the number of colors in an image to create high-contrast visuals. Th
ImageOptim is a macOS image optimizer and GUI image compressor designed to reduce image file sizes for web and disk storage. It functions as a lossless image optimizer that removes unnecessary metadata and optimizes encoding to reduce file sizes without losing pixel data. The application handles macOS media asset management and web image preparation by shrinking files to improve website loading speeds and reduce storage usage. It provides both lossless and lossy compression options to maintain visual quality while reducing the disk space used by images.
Guetzli is a lossy image compression tool and perceptual JPEG encoder. It converts PNG or JPEG inputs into high-density JPEG files, reducing file size by removing data that the human eye cannot easily detect. The tool utilizes human vision models to optimize the balance between file size and visual fidelity. It employs perceptual quality metrics and psychovisual similarity estimation to maintain high visual quality while maximizing compression density. The project includes a visual difference analyzer capable of generating spatial difference heatmaps and calculating scalar similarity scores.
Caesium is an image compression tool that reduces file sizes for JPG, PNG, WebP, and TIFF images while preserving visual quality and metadata. It operates as a cross-platform desktop application with a graphical interface, a command-line tool for scripting and automation, and a web-based interface for browser uploads, all supporting batch processing of multiple images at once. The tool distinguishes itself by offering multiple interaction modes — desktop, terminal, and web — each capable of handling the same core compression tasks. It preserves folder structure when saving compressed images,
TinyPNG4Mac is a native macOS image compression client and desktop optimizer. It serves as a wrapper for the TinyPNG API, allowing for the reduction of image file sizes and format conversion without the use of a web browser. The utility integrates directly into the macOS environment, providing workflow automation through the Finder and system right-click context menus. It also supports drag-and-drop file handling to initiate the compression process. The application manages image processing by communicating with a remote service via a REST API, utilizing asynchronous request queues to handle
Image Optim is a command-line utility and build-time integration tool designed to automate the compression of image assets. It functions as a processing engine that coordinates multiple external compression utilities to perform both lossless and lossy transformations, reducing file sizes for web and application deployment. The tool distinguishes itself through a robust orchestration layer that manages parallel task execution and recursive directory traversal to process large batches of files efficiently. It includes built-in benchmarking capabilities to measure the effectiveness of different
Sharp is a high-performance image processing library for Node.js. It serves as a native extension and wrapper for the libvips framework, providing tools for image resizing, format conversion, and programmatic data manipulation. The project enables the transformation of images into web-friendly formats such as WebP and AVIF while preserving color profiles and alpha channels. It also provides capabilities for generating blank image buffers with specified dimensions and background colors. The library covers a broad range of image manipulation utilities, including rotation, extraction, compositi
This package is a library for automating the compression and file size reduction of images within a web application. It functions as a utility that intercepts media assets to ensure they are optimized for web delivery before they are stored or served. The project distinguishes itself by orchestrating external command-line tools to perform heavy compression tasks outside of the main application runtime. It utilizes a strategy-based approach where individual processing algorithms are encapsulated into interchangeable classes, allowing for the development of custom optimization pipelines tailore
esbuild is a high-performance JavaScript bundler and transpiler designed to transform modern web assets into production-ready code. Built with a focus on speed, it utilizes a concurrent execution model to perform parsing, linking, and code generation across multiple CPU cores. The engine handles a wide range of tasks, including TypeScript compilation, JSX transformation, and CSS bundling, while maintaining a consistent build process across diverse environments. What distinguishes the project is its architecture, which leverages memory-mapped file processing and a single-pass transformation st
Linera is a multi-chain smart contract platform designed for horizontal scalability through a microchain-based distributed ledger. By partitioning state into independent, parallel chains that share a common validator set, the protocol enables high-performance execution of modular applications. The system utilizes a WebAssembly-based runtime to ensure secure, platform-independent execution of contract logic across the network. The platform distinguishes itself through an asynchronous messaging framework that coordinates state changes between chains by queuing messages for execution in subseque
Wasmer is a high-performance runtime engine designed to execute sandboxed WebAssembly modules across server-side, edge, and browser environments. It functions as a comprehensive platform for building, distributing, and running isolated applications, providing a secure and portable execution layer that maintains consistency across diverse hardware architectures and operating systems. The platform distinguishes itself through a robust toolchain that enables cross-language interoperability and the transformation of code into portable binary packages. It supports ahead-of-time binary generation t
This project is a Go WebAssembly frontend framework designed for building interactive web applications. It provides a toolkit for executing Go code directly in the browser to handle client-side logic and user interface development. The framework functions as a declarative UI library and a progressive web app toolset. It enables the creation of installable applications that can operate in standalone windows and maintain offline functionality. The system manages browser-side application development through a component-based view hierarchy and a declarative syntax for defining UI elements. It i
WebGazer is a JavaScript eye tracking library and browser-based computer vision tool that predicts a user's gaze coordinates on a screen in real time using a standard webcam. It functions as a client-side biometric tracker and accessibility input framework, mapping eye gaze to screen interactions to enable hands-free navigation and user interaction research. The system performs all video processing and gaze analysis locally within the web browser, removing the need for external servers. It employs regression-based mapping models to translate eye coordinates into screen pixels, utilizing a tra
Lunatic is a WebAssembly runtime and concurrent process manager that implements an Erlang-inspired model of lightweight concurrency and fault tolerance. It functions as a distributed actor system where isolated processes communicate via message passing across a network of linked nodes. The system utilizes a WebAssembly sandbox environment to isolate memory and restrict system call permissions for each individual process. This capability-based security model ensures that processes are sandboxed to safely execute untrusted code. The platform provides a fault-tolerant supervision tree for hiera
GraalVM is a polyglot virtual machine and high-performance runtime designed to execute multiple programming languages within a single environment. It functions as a JVM language toolkit for building language implementations, a native image compiler for transforming bytecode into standalone binaries, and an execution environment for LLVM bitcode and WebAssembly modules. The project is distinguished by its polyglot interoperability framework, which allows different languages to share data and execution state with low overhead. It utilizes self-modifying abstract syntax trees to optimize languag
jsQR is a JavaScript library for locating and decoding QR codes directly within a browser or Node.js environment. It functions as a client-side scanner and decoder that extracts text and data from images using pixel arrays, removing the need for server-side processing. The library provides tools for QR code localization to identify the exact coordinates of corners and alignment patterns within a larger image. It uses image pattern recognition to isolate the QR code and extract its encoded content. Its internal operations cover binarization-based thresholding, geometric pattern localization,
Mirotalk is a self-hosted video conferencing platform and peer-to-peer communication server. It utilizes WebRTC for high-resolution video calls, screen sharing, and real-time audio streaming, operating as a decentralized system that routes media streams directly between participants to ensure privacy and low latency. The platform integrates conversational language models and speech recognition to provide real-time transcription and automated meeting tasks. It also functions as a white-label collaboration suite, allowing users to apply corporate visual identities across the interface and sourc