Image transformations on the Supabase Free plan
Updated . Prices checked against the sources below.
Supabase lists image transformations as not included on the Free plan. They start on Pro (from $25 a month), which includes 100 origin images and then charges $5 per 1,000. On a Free project you need another way to serve resized images.
Your options on a Free project
- An image CDN such as ProdKit: works with public buckets on any Supabase plan. ProdKit's Free plan covers 1,000 origin images a month, and commercial use is allowed.
- next/image on Vercel: Hobby includes 5,000 transformations a month but is for non-commercial use only. On Pro, each cache miss is billed.
- Resize on upload: generate the sizes you need in your upload flow and store them. No per-request cost, but more storage and fixed sizes.
- Upgrade to Supabase Pro: transformations are built in, with 100 origin images included.
Setting up ProdKit on a Free project
Make the bucket public, paste its URL in the ProdKit dashboard to get an endpoint, then replace the storage base URL wherever you render images. The object path stays the same.
When the Free plan reaches its 1,000 images in a month, ProdKit serves your originals instead of charging, so images keep working.
Endpoint
# Your bucket
https://xyz.supabase.co/storage/v1/object/public/avatars
# Any image in it, resized and served as AVIF or WebP
https://img.prodkit.cloud/acme/avatars/cory.png?width=256Does it affect my Supabase egress?
Only a little. ProdKit fetches an original when it generates a size it doesn't have yet. Views served from Cloudflare's cache never reach Supabase, so image traffic mostly stops counting toward your egress quota.
Related
Try it on your bucket
The free plan covers 1,000 origin images a month and never bills. Connect a public bucket and replace one URL.
Sources
Checked on September 28, 2026. Prices change, so confirm against the source before deciding.