Translate image URLs between 8 CDN providers in real-time. Migrate from Imgix to Cloudinary, Cloudflare to ImageKit, or any combination โ without rewriting a single URL in your codebase.
1. Client requests: /~bridge/migrate-to-imgix/cover/300x300/photo.jpg
2. Parse URL using source parser (e.g. ImageBoss format)
3. Convert to CanonicalOptions (provider-agnostic)
4. Emit URL in target format (e.g. Imgix query params)
5. Redirect (301/302) to target domain
The bridge performs no image processing โ it's a pure URL translator that redirects to the target provider.
Any-to-any translation between these platforms โ 56 possible combinations:
Path-based: /:source/:op/:dims/path
Query params: /path?w=400&fit=crop
Path: /cdn-cgi/image/w=400/path
Path: /image/upload/w_400,c_fill/path
Path: /tr:w-400/path
Query: ?w=400&scale.option=fill
Path: /unsafe/400x300/smart/path
Path: /-/resize/400x300/
bridges:
- slug: imgix-to-cloudinary
from: imgix
to: cloudinary
targetDomain: res.cloudinary.com/mycloud
redirectCode: 302
- slug: from-cloudflare
from: cloudflare
to: imageboss
targetDomain: img.example.com
redirectCode: 301
Migrate from Imgix to Cloudinary (or vice versa) while old URLs continue working via redirects.
Route a percentage of traffic through the bridge to compare quality, performance, and cost between providers.
Route product images to Imgix, user content to Cloudinary, and blog images to your own infrastructure.
| From | To | Input โ Output |
|---|---|---|
| ImageBoss | Imgix | /cover:attention/400x300/photo.jpg โ ?w=400&h=300&fit=crop&crop=entropy |
| Cloudinary | ImageBoss | /w_400,c_fill,e_grayscale/photo.jpg โ /cover/400/grayscale:true/photo.jpg |
| Imgix | Cloudflare | ?w=400&blur=10 โ /cdn-cgi/image/width=400,blur=10/photo.jpg |
Set up a bridge, redirect traffic, move at your own pace.