compresso
Open the app

Next.js compress before upload

Run compression in a client component ("use client") on the file input. The optimized File uploads via fetch or server action — the compression step never needs your server.

How it works

  1. Add compresso.js to your client form component
  2. Compress on select
  3. Submit result.file

Common questions

Works with Server Actions?
Yes — pass the compressed File as you would the original.

For developers

Embed compression in your upload flow:

npm install compresso.js
npm · Docs

Related