Drop photos.
Get a link.
Done.

Any number of photos. One link. Full quality. Works everywhere.

bunle.cloud/s/a3f8k2
Loading…
ZIP

How it works

Three steps. Zero friction.

1

Drop your photos

Drag images into Bunle. They're packed into a single file — no quality loss, no re-encoding.

2

Send the link

One link. Email it, text it, post it. No account needed for anonymous shares.

3

They see it instantly

Photos stream in real-time in their browser. They can browse full-res or download all as ZIP.


Use cases

Works for any image collection

Photographers, designers, agents, e-commerce — anyone sharing more than a few images.

Client photo delivery

400 wedding photos, one link. Client previews instantly, downloads as ZIP.

Product catalogs

100+ product shots load in one request. No layout shift, no lazy-load jank.

Property listings

30 rooms, one gallery. Buyers browse instantly without waiting for downloads.

Design portfolios

Full-resolution work, zero quality loss. Streams on any connection speed.


Why Bunle

What makes it different

Photos appear immediately

No waiting for the full download. Images stream as data arrives — first photo visible in under 100ms.

Your quality, untouched

No re-encoding, no compression, no downsizing. WebP, JPEG, JXL pass through byte-for-byte.

Nothing to install

Recipients click a link and it works. No app, no account, no plugin. Any browser, any device.

No layout shift

Image dimensions are known before download starts. Gallery layout is perfect from the first frame.


Comparison

Bunle vs. alternatives

BunleWeTransferGoogle DriveZIP email
Stream before full download
No quality lossCompresses
No app/account for viewerNags loginNeeds unzip
Links don't expirePro plan7 daysN/A
Self-hostable Open source

Pricing

Share for free. Upgrade when you need more.

No credit card required. Anonymous shares work without an account.

Monthly Annual Save 20%

Free

$0

No account needed

Share now
  • Up to 100 photos per share
  • Links expire after 24h
  • Streaming gallery + ZIP download
  • "Shared via Bunle" branding
Popular

Pro

$5/mo

For professionals

7-day free trial

Start free trial
  • Unlimited photos
  • 100 GB storage
  • Permanent share links
  • No branding + CDN
  • View analytics

Business

$15/mo

For teams

Start Business
  • Unlimited photos
  • 1 TB storage
  • Custom slugs
  • API access
  • Priority support

For developers

3 lines to stream images

3 KB SDK. Zero dependencies. Open source.

const bnl = await Bunle.open(url)

for await (const { index, blob } of bnl.stream()) {
  images[index].src = URL.createObjectURL(blob)
}

GitHub npm crates.io Docs


FAQ

Questions

Do I need an account?

No. Anonymous shares work without an account — up to 100 photos, links expire after 24 hours. Upgrade to Pro for permanent links, no branding, and view analytics.

Do recipients need to install anything?

No. They click the link, images stream in their browser. They can browse full resolution or download everything as ZIP.

Does Bunle compress my images?

Never. Images pass through byte-for-byte. WebP, JPEG, JXL, PNG — all untouched.

Can I self-host?

Yes. Bunle files are static assets — host on S3, R2, any CDN. The format is open source (MIT). Cloud plans are for convenience.

How is this different from ZIP?

ZIP needs a full download before you see anything. Bunle streams — recipients see photos while the file is still downloading. Plus: jump to any image without downloading the rest.

Trusted by photographers & teams

"Replaced WeTransfer for all my client deliveries. They love the instant preview."

Sarah K.

Wedding photographer

"We embed Bunle galleries in our product pages. Loads faster than our old image CDN."

Marcus T.

E-commerce, 200+ SKUs

"3 lines of code and my portfolio streams. No backend, no image processing. Just works."

Linh N.

Frontend developer

Share your first gallery

Free. No account. No credit card.

Drop photos here