Short answer: Media RSS is an extension to RSS, originally created by Yahoo, that describes images, video and audio in feed items in a structured way. The two tags most feeds need are media:content, which points to the media file with its type and dimensions, and media:thumbnail, which points to a preview image. Declare the namespace xmlns:media="http://search.yahoo.com/mrss/", add these tags per item with absolute URLs, and readers, aggregators and automation tools can show the right image or video without parsing your HTML.
Images are the most visible part of a feed item after the title, and the part most often missing or wrong. Plain RSS 2.0 has only one way to attach a file to an item: the enclosure element, which allows one file and minimal information about it. That works for podcasts, but not for a news article with a hero image, a gallery or a video in several resolutions. Media RSS fills that gap. It has been around since the mid-2000s, it is widely understood by feed readers and tools, and it is the most common way modern feeds provide thumbnails. This guide explains the tags you are likely to use and how to add them.
Why structured media matters
Without Media RSS, an app that wants an image for an item must guess: take the first img tag from the HTML content, look for an enclosure, or fetch the web page and read its Open Graph image. Each guess can go wrong. The first image might be an author avatar or an advert; the enclosure might be audio; fetching the page is slow and may be blocked. A structured media tag removes the guesswork:
The benefit multiplies with every channel that uses your feed:
- Readers show the right thumbnail in list views.
- Social posting tools attach the intended image.
- Newsletter tools use it in digest layouts.
- Aggregators and partner sites display consistent images.
The core tags
| Tag | Purpose | Key attributes |
|---|---|---|
| media:content | A media object: image, video or audio | url, type, medium, width, height, fileSize, duration |
| media:thumbnail | A preview image | url, width, height |
| media:title | Title of the media | type (plain or html) |
| media:description | Description or caption | type |
| media:credit | Photographer, author or rights holder | role, scheme |
| media:group | Several versions of the same media | Contains several media:content tags |
| media:keywords, media:rating | Keywords and content rating | scheme for rating |
The full specification, maintained today as a community document, defines many more elements, including restrictions by country, license links, embedded players, hashes and community statistics. Most of them are used by video platforms and specialised aggregators rather than ordinary publishers. Most feeds need only the first two. The medium attribute of media:content says what kind of object it is: image, video, audio, document or executable. Including it, together with a MIME type, helps apps decide how to display the object.
A simple example
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
...
<item>
<title>How we redesigned our office</title>
<link>https://example.com/office-redesign/</link>
<media:content url="https://example.com/img/office-1600.jpg"
medium="image" type="image/jpeg" width="1600" height="900" />
<media:thumbnail url="https://example.com/img/office-400.jpg"
width="400" height="225" />
</item>
</channel>
</rss>
Note the absolute HTTPS URLs and the dimensions that match the actual files. Apps use the width and height to reserve space in layouts before the image loads, so wrong values cause jumpy or distorted displays. The large image serves full article views and social posts; the thumbnail serves list views. Some feeds provide only media:content, and many apps are happy with that. Others provide only media:thumbnail, which is common in video feeds. Providing both covers the widest range of apps.
Media RSS for video
Video is where Media RSS shows its full range. For video, media:content describes the video file or player, with medium="video", a video MIME type, dimensions and duration. A media:thumbnail gives the poster image. Video platforms’ own feeds, such as YouTube’s channel feeds, use Media RSS for thumbnails, descriptions and statistics. For multiple resolutions, wrap several media:content elements in a media:group, marking one with isDefault="true".
Media RSS vs enclosure
- enclosure is part of core RSS, allows one file per item and requires length and type. Podcast apps rely on it.
- media:content is an extension, allows many objects per item and carries richer metadata. Readers and aggregators rely on it for images and video.
In short, the enclosure answers “what file should a podcast app download?”, while Media RSS answers “what should a reader or tool show?”. They can coexist. A podcast episode can have an audio enclosure for podcast apps and a media:thumbnail for episode artwork in readers. A blog post can have Media RSS images and no enclosure at all.
Adding Media RSS to your feed
- WordPress does not add Media RSS by default. A small snippet using the
rss2_nsandrss2_itemhooks can add the namespace and amedia:contenttag for the featured image; some SEO and feed plugins do it for you. - Static site generators let you add the tags in the feed template, using the post’s front matter image.
- Headless and custom feeds can map the hero image field to the tags in code.
After adding the tags, open the raw feed and check one item by eye: the namespace on the root element, one media:content per item with a working URL, and dimensions that match. Then validate the feed and add it to a reader to confirm thumbnails appear for new posts. Whatever the method, declare the namespace once on the root element. Declaring it twice, for example when both a plugin and your snippet add it, makes the feed invalid.
Choosing image sizes and formats for feeds
Feed images end up in very different places: a small square in a reader’s list, a full-width header in an article view, a card in an email digest and an attachment in a social post. A few practical choices serve all of them:
- Main image around 1200 to 1600 pixels wide. Large enough for full-width display and social posts, small enough to download quickly.
- Landscape ratio around 16:9 or 1.91:1, which crops gracefully in most layouts. Keep important text away from the edges, because square thumbnails cut them off.
- Thumbnail around 300 to 600 pixels wide, if you provide a separate one.
- JPEG or PNG for maximum compatibility. WebP and AVIF are widely supported in modern apps but not in every email client or older reader.
- Stable URLs. If you replace an image, give it a new file name; apps cache images aggressively.
Add a caption or credit with media:description and media:credit when rights require attribution, for example for licensed photos. Readers that display these give photographers the credit they are owed, and it documents the source of the image for partners who reuse your feed.
Finally, remember accessibility. Media RSS has no dedicated alt-text attribute, so a short media:description or an image with alt text inside the item’s HTML helps readers that use screen readers understand what the picture shows.
Common mistakes
- Relative image URLs. Always use absolute HTTPS URLs.
- Tiny images such as 150-pixel thumbnails used as the main image. Provide a large
media:contentimage. - Wrong dimensions in attributes, which can make apps crop or stretch images.
- Missing namespace declaration, which makes the feed invalid.
- Images blocked for bots by hotlink protection or a CDN rule, so apps cannot load them.
- Rights: images licensed only for your site should not be distributed through feeds used by partners.
When sources have no images in their feeds
Many feeds you might follow or reuse have no structured images at all. When our tool, Feeds, builds a feed from a web page or reads an existing feed, it looks for titles, images, summaries and dates, including the page’s structured article data where available, and shows you a preview so you can see which items came with images before creating the feed. See how it works on the home page.
Related reading
- How to Add Featured Images to Your WordPress RSS Feed
- Anatomy of an RSS 2.0 Feed: Every Element Explained
- Why Automated Social Posts Lose Images and How to Fix It
The bottom line
It is a small, well-established standard that solves a very visible problem. Media RSS gives feed items structured images, video and thumbnails that apps can use without guessing. For most feeds, a large media:content image and a media:thumbnail, with absolute URLs and correct dimensions, are all you need. Declare the namespace once, keep enclosures for podcasts, and your posts will look right in readers, newsletters, social tools and partner sites.
FAQ
What is Media RSS?
It is an RSS extension, originally created by Yahoo, for describing images, video and audio in feed items. It uses tags such as media:content and media:thumbnail within the namespace http://search.yahoo.com/mrss/.
Do I need Media RSS for images in my feed?
It is not required, but it is the most reliable way to tell apps which image belongs to an item. Without it, apps guess from your HTML or the web page, and different apps may pick different images for the same post.
What is the difference between media:content and media:thumbnail?
media:content describes the media object itself, such as a full-size image or video. media:thumbnail is a smaller preview image for list views and players.
Can I use Media RSS and enclosures together?
Yes. Podcasts often use an audio enclosure plus a media:thumbnail for artwork. They serve different apps and do not conflict, so using both gives each kind of app what it looks for.
Why is my feed invalid after adding Media RSS?
Usually the namespace is missing or declared twice, or an attribute value is malformed, such as an unescaped ampersand in an image URL. Check the root rss element and validate the feed.


