Image hosting for Substack faster emails, cleaner embeds.
Substack auto-hosts images you paste into the editor, but for embedded HTML, newsletter images referenced from multiple posts, or logos in your header, an external CDN URL is cleaner and faster.
Upload an image →Why hosting matters on Substack
Substack's CDN is slow outside US/EU
substack.com's image subdomain uses a single-region CDN. Readers in Asia, LATAM, and Africa see measurable delays. Cloudflare's 300+ PoPs are closer.
HTML embeds need external URLs
Substack's HTML embed block accepts arbitrary <img> tags. External URLs give you control over format, caching, and size.
Reuse across posts
If you use a consistent logo, author photo, or series banner, host once on ImageToURL and reference it from every post — no re-upload.
Email deliverability
Gmail's Postmaster Tools penalizes emails with slow image hosts. ImageToURL's edge caching beats Substack's default for international readers.
How to embed
Upload your asset
Drop your logo, banner, or illustration here — get a CDN URL.
Use the HTML embed block in Substack
In the post editor, add an HTML block and paste <img src='your-url' alt='...' />.
Or paste into the image URL field
Substack's image block accepts URLs directly — use that for standard post images.
FAQ
Doesn't Substack host images automatically?
Yes — when you paste or drag into the editor, Substack uploads to its own CDN. That's fine for one-off images; for reused assets, logos, or speed-critical international delivery, an external host wins.
Will external images load in subscribers' inbox?
Yes. Gmail, Apple Mail, Outlook all render external <img> tags from any https URL. Some clients cache images; deliverability isn't affected.
Do images show in the emailed version of the post?
Yes — Substack's email renderer inlines the src URL into the HTML mailer. Subscribers fetch from our CDN at open time (or from Gmail's proxy, which also talks to our CDN).
Can I track image opens via ImageToURL?
Not on free. Pro plan logs per-URL view counts (aggregate). Substack's own analytics covers open-rate already.
What about og:image for shared post links?
Substack auto-generates og:image from post content. If you want to override, use the post's custom header image upload — ImageToURL can host the source.
Max size?
10 MB free, 50 MB Business. Substack's own cap is 10 MB, so the free tier matches.
Does it work for paid-only posts?
Yes. Paywall gates the Substack post HTML, not external assets. If someone guesses the image URL they can see it — same as with any hosted image.
Can I host my podcast cover art here?
Yes. The URL works as the cover-art reference in RSS feeds for Spotify, Apple Podcasts, and Overcast.