An RSS viewer for checking what a feed really contains
Feed readers hide the raw data and browsers often show feed XML as a wall of tags. This RSS viewer sits in between: it parses the feed and renders each entry as a short article card with a linked title, the publication date and a plain-text summary. It is useful when you publish a feed and want to see what subscribers will get, or when you integrate someone else's feed and need to know which fields are filled.
Supported feed formats
The viewer recognizes the three formats in common use by their root element:
- RSS 2.0 –
<rss>with a<channel>and<item>elements. Used by most blogs and podcasts. - Atom –
<feed xmlns="http://www.w3.org/2005/Atom">with<entry>elements. Common on GitHub, YouTube and many static site generators. - RSS 1.0 (RDF) –
<rdf:RDF>with<item>elements, still found on older sites.
Anything else stops with This XML is not an RSS or Atom feed (expected <rss>, <feed> or <rdf:RDF> root)., which is also what you will see if a URL returns an HTML page instead of the feed.
Which field ends up where
| Preview shows | RSS 2.0 | Atom | RSS 1.0 |
|---|---|---|---|
| Title (linked) | title, link | title, link rel="alternate" | title, link |
| Date | pubDate | published, else updated | dc:date |
| Summary | description | summary, else content | description |
Summaries are converted to plain text: HTML tags are removed, whitespace is collapsed and anything beyond 400 characters is cut with an ellipsis. Images and embedded media are not displayed. Links are only made clickable when they start with http:// or https://, so a javascript: link in a feed renders as plain text. Dates are shown as written in the feed, not converted to your time zone.
The JSON view
The Code tab shows the feed as normalized JSON. For the sample RSS feed it starts like this:
{
"type": "rss",
"version": "2.0",
"title": "Northwind Engineering Blog",
"link": "https://blog.example.com",
"description": "Notes on APIs, data formats and developer tooling.",
"language": "en-us",
"items": [
{
"title": "Why we moved our configs from JSON to YAML",
"link": "https://blog.example.com/json-to-yaml",
"pubDate": "Tue, 14 May 2024 09:00:00 GMT",
"category": "Configuration",
...
items is always an array, even for a one-item feed, and type is rss, atom or rss1. RSS items keep every field, so podcast data such as enclosure appears with @url, @length and @type. If JSON is what you are really after, RSS to JSON is built for that.
Why a feed fails to load
- Unescaped ampersands. The most common feed bug: a URL like
?a=1&b=2inside<link>must be written&. The error names the line and column. Many feed readers tolerate it, but strict parsers do not. - HTML in descriptions. Markup in
<description>must be escaped or wrapped in CDATA; raw<p>tags become child elements rather than text. - The URL is not the feed. Load the address of the feed file itself, often ending in
/feed,/rss.xmlor/atom.xml, not the home page.
For a detailed syntax report, run the feed through the XML validator. A list of subscriptions exported from a reader is an OPML file; open it in the OPML viewer.
Privacy
Pasted and uploaded feeds are parsed in your browser. Load URL retrieves the feed through our server so that sites without cross-origin headers can be read, and Save & Share stores the input to create a link.