Condenser Plus: Broken Images Explained
If you've spent any time on older Steem posts, you've probably seen empty image frames where photos used to be. Discord-hosted images that expire after a few days, IPFS gateways that have been shut down, image hosts that no longer exist. The links remain on the blockchain forever, but the images themselves are gone.
In condenser-plus I've added a small but useful feature: instead of broken image icons, missing images are replaced with clear placeholders. You're looking at one right now — this is the same image you'll see on the live demo when an image link is unreachable.
The three placeholders used by condenser-plus
The placeholder is automatically sized to match the original image. There are three formats:
Large placeholder — used for full-width banners and cover images:

Medium placeholder — used for inline images within posts:

Small placeholder — used for avatars and community logos (icon only, no text):

When you click on any placeholder in condenser-plus, you'll be brought back to this post for the explanation.
Why does it happen?
Steem stores posts permanently on the blockchain, but images themselves are not stored on Steem. Posts only contain links to images that live on external servers — Discord, IPFS gateways, image hosts, personal websites. When those external services shut down or change, the links break.
The post itself is fine. The image is gone.
Common dead hosts
After analyzing trending posts on Steem, three hosts appear repeatedly with broken images:
ipfs.busy.org — A Steem-related IPFS gateway that was shut down years ago. The DNS doesn't even resolve anymore. Every link to this host is dead.
fastly.picsum.photos — Picsum (the placeholder image service) deprecated this Fastly CDN path. All older URLs return HTTP 400. The newer picsum.photos URLs still work fine.
steem-hive-bot-manager.herokuapp.com — A Steem bot service that ran on Heroku's free tier. When Heroku shut down free dynos in late 2022, this service went with it.
condenser-plus replaces images from these hosts with the placeholders shown above.
The Discord special case
Discord-hosted images (media.discordapp.net, cdn.discordapp.com) are a particular problem on Steem. Many users embed images by copying URLs from Discord — but Discord uses signed URLs that expire after about 24 hours by default.
A post written years ago with a Discord image link is almost guaranteed to be broken today. But a post written this morning with a Discord link works fine — for now.
condenser-plus handles this intelligently: it checks the expiration timestamp embedded in the URL itself (the ex parameter). If the timestamp is in the past, the image is replaced with a placeholder. If it's still valid, the image loads normally.
Can the original image be recovered?
Usually no. If the source service is permanently dead, the image is gone. Some content can be recovered if the author cross-posted to other platforms, but for the post on Steem itself, the link is final.
How can authors avoid this in the future?
Use stable image hosts:
steemitimages.com— recommended, runs on Steem infrastructure, used by all major frontendsYour own server that you control
IPFS with a reliable pinning service
Avoid:
Discord links (always expire after a day or so)
Random image hosts you don't control
Services without a track record
Open source — help us extend the list
The list of dead hosts is maintained directly in the condenser-plus code. If you spot a host that's permanently dead and not yet on the list, let me know — either through a GitHub issue or a comment on this post.
Code: https://github.com/greece-lover/condenser-plus
Live demo: https://steemit.steemapps.com License: Apache 2.0
If you're a witness or developer running an older Steem frontend, feel free to fork and adapt.
Witness vote
I'm running as Steem witness @greece-lover (currently around rank 52). Building things like condenser-plus is part of what I do as a witness. If you find this useful, a witness vote would mean a lot:
➜ Direct vote: https://steemlogin.com/sign/account-witness-vote?witness=greece-lover&approve=true
Or via Steemit: https://steemit.com/~witnesses
Thanks for reading.
— Holger / @greece-lover
Veröffentlicht mit Welako