joye61

pic-smaller: Compress Images Locally in Your Browser

Pic Smaller is a browser-based batch image compressor built with Web Workers, WebAssembly, Canvas, and browser codecs. It processes images on your device, making it useful when you want to compress or convert files without uploading them to an application server.

Stars
2.9k
Forks
398
Stars, last 30 days
+15
Last commit
2 months ago
Contributors
14

Our take

Activeregular commits

Health score

32/100

How it is scored
Activity
37
Community
48
Issues
21
Pull requests
20

+15 stars in the last 30 days

Pic Smaller is a practical, privacy-oriented browser tool with regular recent development, though its lack of recent releases and issue or pull-request closures makes release and maintenance cadence less clear.

Good fit if

  • You want local browser-based batch compression and format conversion.
  • Your workflow benefits from HEIC/HEIF decoding, resize and crop controls, or ZIP downloads.
  • You need a self-hostable web app and can work with its Node.js-based build and Docker option.

Look elsewhere if

  • You need a native application for large libraries or the README's desktop-only AI tools; those belong to the separate Pic Smaller Desktop offering.
  • Your adoption process requires recent tagged releases or visible recent issue and pull-request resolution.
  • Your environment cannot run Node.js 22 or newer for development and builds.
All health signals
Last commit2026-08-16 (2 months ago)
Commits, last 90 days22
Releases, last 12 months0
Contributors14 (top contributor: 64% of commits)
Issues closed, last 90 days0
Pull requests merged, last 90 days0
Project age2 years

Checked on 2026-10-26 with the GitHub API.

Project history

Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.

Selected snapshot

Stars

2,894

Forks

398

Change since Nov 13, 2026: 0 stars·0 forks

Overview

Pic Smaller is a free, open-source batch image compressor that runs in the browser. It uses Web Workers, WebAssembly, Canvas, and browser codecs to compress images locally, addressing the privacy and convenience concerns of sending files to an online compression service. The hosted app is available at picsmaller.com, and the project can also be deployed as a static Cloudflare Pages site or a Docker container.

It is aimed at people who need to compress or convert image collections without leaving the browser. The README also highlights Pic Smaller Desktop as a separate flagship native application for larger workloads and additional tools.

Key Features

  • Batch-compress JPEG, PNG, WebP, GIF, SVG, and AVIF images.
  • Decode HEIC and HEIF files locally and export them to common image formats.
  • Convert, resize, and crop images, with encoder-specific quality controls.
  • Add files through a picker, folder picker, drag and drop, or clipboard paste.
  • Compare original and compressed images with an interactive split view.
  • Download individual outputs or save a batch as a ZIP archive.
  • Process images on the user's device rather than uploading them to an application server.

Use Cases

  • A web designer can reduce a batch of site images before adding them to a project.
  • A photographer or content creator can convert HEIC or HEIF files into formats their publishing workflow accepts.
  • A privacy-conscious user can compress personal images without sending them to a server.
  • A team can offer an image-compression tool on its own infrastructure using the Docker deployment.

What you need

Detected in the repository

  • Node.js >=22 <25 (from package.json)
  • A Dockerfile, so it can run in a container
  • A test suite

License in plain words

MITpermissive

  • Commercial use: yes
  • Modify and redistribute: yes
  • You must keep: the copyright and license notice
  • Share your changes: no

A summary, not legal advice: the LICENSE file is what applies.

Getting Started

git clone https://github.com/joye61/pic-smaller.git
cd pic-smaller
npm ci
npm run dev

See the README for testing, builds, and deployment details.

Alternatives

  • squish: Squish offers similar browser-based batch compression and conversion with WebAssembly codecs, but is noted as inactive, while Pic Smaller uses workers, Canvas, and browser codecs.
  • reubah: Reubah handles image and document conversion plus optimization, and can run locally or in Docker; Pic Smaller focuses on in-browser image compression and conversion.
ProjectLanguageLicenseStarsStatus
pic-smallerTypeScriptMIT2.9kActive
squishTypeScriptMIT1kInactive
reubahHTMLMIT701Quiet

Considerations

  • The project is active, with regular commits, and has contributions from multiple people; recent work is not concentrated in one contributor. However, there has been no release in over a year, and no issues or pull requests were closed or merged in the measured recent period.
  • Development and builds require Node.js 22 or newer. The repository includes tests, but the measured repository data indicates no CI configuration.
  • Browser codecs and local processing mean compatibility and performance depend on the user's browser and device. The README does not provide benchmark claims.
  • The project is MIT-licensed. Review that license and the bundled codec dependencies when redistributing or embedding it.
  • The README presents Pic Smaller Desktop as a separate offering; do not assume its native performance or AI features are part of this browser repository.

Found this useful?

Share it with someone who would like pic-smaller.

Comparisons