source.unsplash.com let you put a keyword in an image URL, such as source.unsplash.com/800x600/?coffee, and get a matching photo. Unsplash deprecated it in 2021 and switched it off in 2024. Those URLs now answer with an error (503) instead of an image.
placeholdr.dev works the same way: put what you want to see in the URL, and you get a matching image. The difference is that it's generated by AI rather than taken from a photo library.
placeholdr.dev/800x600/coffeeplaceholdr.dev/600x400/kittenplaceholdr.dev/320x240/dogOld URLs and their replacements
| Old URL | placeholdr.dev URL |
|---|---|
source.unsplash.com/800x600/?coffee | placeholdr.dev/800x600/coffee |
source.unsplash.com/1600x900/?nature,water | placeholdr.dev/1600x900/nature,water |
source.unsplash.com/featured/?city | placeholdr.dev/1200x800/city: choose a size, up to 2048 px per side |
source.unsplash.com/random/400x400 | placeholdr.dev/400x400/abstract%20background: describe what you want |
source.unsplash.com/user/… or /collection/… | No equivalent. These returned one photographer's or one collection's photos; use the Unsplash API. |
placekitten.com/600/400 | placeholdr.dev/600x400/kitten |
loremflickr.com/320/240/dog | placeholdr.dev/320x240/dog |
placekitten.com has been down since 2024, and LoremFlickr stopped returning images on October 21, 2026, after Flickr blocked it.
Find and replace
Most editors can rewrite the common /WIDTHxHEIGHT/?keywords form in one pass. In VS Code, turn on regular expressions in Find and Replace:
Find: https?://source\.unsplash\.com/(\d+)x(\d+)/\?([^"'\s)]+)
Replace: https://placeholdr.dev/$1x$2/$3
Comma-separated keywords work as they are. Longer descriptions give better images: coffee%20cup%20on%20a%20wooden%20table rather than coffee.
What's different
- Generated, not photographed. Each image comes from a FLUX model. If you need real photos, use the Unsplash API, which needs an access key and attribution, or Lorem Picsum for random photos.
- One image per URL. Unsplash Source could return a different photo each time. placeholdr.dev returns the same image every time. For a variation, add
?seed=2or?seed=3, or change the description. - The first load generates the image. A new URL returns a temporary SVG for 5 to 30 seconds while the image is made. Reload to see it. After that it loads from Cloudflare's CDN.
- Limits. Free use allows 30 new images a day per IP address and per live domain. Saved images load without limit.
Other options
- Lorem Picsum: random Unsplash photos, without keywords.
- via.placeholder.com: real CC0 photos by subject from a fixed library, at
/photo/{subject}/{size}. It came back online in October 2026. - The Unsplash API: real Unsplash photos by search, with an access key and attribution rules.
More comparisons
- All placeholder image services
- placehold.co vs placeholdr.dev
- Lorem Picsum vs placeholdr.dev
- Pollinations vs placeholdr.dev
Try placeholdr.dev in the demo, or read the full API reference. Spotted something out of date? Write to hello@placeholdr.dev.