← All posts

S3zipper vs Lambda vs EC2: How to Zip Files in S3

Updated 2026-10-21

There is more than one way to zip files stored in S3. The right choice depends on how much control you need versus how much infrastructure you want to own. Here is an honest comparison of the three common options.

S3zipper (API)AWS LambdaEC2 worker
SetupSign up, get a keyWrite and deploy codeProvision and manage a server
Code you maintainNoneThe zip logic, packaging, timeoutsZip logic plus the instance itself
Practical limitsPlan-based size limits15-minute timeout, limited /tmpWhatever you provision
ScalingHandled by the serviceConcurrency limits and cold startsManual or autoscaling groups
Cost modelPer-plan subscriptionPer request and compute timePer hour, whether busy or idle
OutputArchive in your bucket + signed URLArchive you upload yourselfArchive you upload yourself
Best forApps that zip on demandSmall jobs / existing AWS-heavy stacksHeavy custom pipelines

When Lambda is the right answer

If your zips are small and infrequent, and you already run everything on AWS, a Lambda function is cheap and self-contained. The friction appears when archives grow: the 15-minute limit and temporary storage force you to split work, and you now own streamed zip logic, chunking and error handling.

When an EC2 worker is the right answer

Heavy, custom processing — transforming files, joining with other systems, long-running batches — justifies a worker you control. The cost is operational: patching, monitoring, and paying for capacity you may not use.

When the API approach fits

If the requirement is simply "give me a zip of these files, right now", the API removes the infrastructure entirely. You send the file list, poll a task id, and receive a signed link. Your application code stays small, and there is no worker to babysit when nothing is running.

Can they be combined?

Yes — a common pattern is to use the API for ad-hoc and user-facing zips, while keeping a Lambda or worker for scheduled internal batch jobs. There is no lock-in in the output: the archive is a normal object in your bucket.

If you want to try the API route, the end-to-end guide takes about five minutes.

Try it on your own bucket

Create a free account and zip S3 files on the fly — no downloads, no local disk.

Create free account API docs

← All posts