# Custom Emojis loaded from S3/R2 bypass CDN routing

**URL:** https://meta.discourse.org/t/custom-emojis-loaded-from-s3-r2-bypass-cdn-routing/406384
**Category:** Bug
**Tags:** emoji, cdn, s3, fixed
**Created:** [29 juni 2026 om 19:50 UTC](https://meta.discourse.org/t/custom-emojis-loaded-from-s3-r2-bypass-cdn-routing/406384 "2026-06-29T19:50:56Z")
**Posts on this page:** 1
**Showing post:** 12

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [2 juli 2026 om 02:29 UTC](https://meta.discourse.org/t/custom-emojis-loaded-from-s3-r2-bypass-cdn-routing/406384/12 "2026-07-02T02:29:48Z")

</div>

> [@Lilly](#):
>
> i have opened a PR that wraps the URL assignments in `Discourse.store.cdn_url()`, which makes the custom emoji loader align with how standard post images and avatars are routed.
> 
> [FIX: Apply CDN to Custom Emojis loaded from S3/R2 - Pull Request #41267 - discourse/discourse - GitHub](https://github.com/discourse/discourse/pull/41267)

this PR was merged and the custom emoji are now fixed when using Cloudflare R2 object storage for uploads. I have posted a suggested update to the relevant R2 documentation here: [Configure an S3 compatible object storage provider for uploads](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916)

---

_[View the full topic](https://meta.discourse.org/t/custom-emojis-loaded-from-s3-r2-bypass-cdn-routing/406384)._
