CruxDevCruxDev Tools Prompts
dev Utility • Zero-Server Privacy • 100% Client-Side

RSS / Atom / OPML Viewer

Paste or upload an RSS 2.0 feed, Atom feed, or OPML outline and read it as a clean list of titles, links, and dates - auto-detecting the format.

Overview

Reads an RSS 2.0 feed, an Atom feed, or an OPML outline pasted into the page and renders it as a clean list: titles, links, dates, and summaries, with the format detected automatically. Also accepts .xml, .rss, .atom, and .opml files. Useful for inspecting a feed before adding it to a reader, or auditing a reader export.

How It Works

Paste the feed XML into the source panel or load an XML file. The tool identifies the root element - rss, feed, or opml - and labels what it found. RSS items and Atom entries appear as cards with title, link, date, and a plain-text summary; OPML outlines appear as a flattened list with each feed's xmlUrl. Errors say what went wrong instead of showing an empty page.

Step-by-Step Usage Guide

  1. Copy the feed XML - view-source on a feed URL, or export from your reader.
  2. Paste it into the source panel, or use the file picker for .xml, .rss, .atom, or .opml files.
  3. Check the detected format badge and the entry count at the top.
  4. Read or copy the entries; for OPML, verify each feed's xmlUrl in the flattened outline.

Technical Specifications & Standards

Detection is by root element rather than file extension, because real-world feeds misname files constantly. RSS 2.0 is read from the channel title and item elements - title, link, pubDate, and description; Atom from the feed title and entry elements, preferring the link with rel="alternate" over any bare link, and reading updated or published for the date. Summaries are stripped of embedded HTML through a detached DOM parse, so a feed's CDATA markup shows as readable text with collapsed whitespace rather than raw tags. OPML outlines are walked recursively and flattened with a depth count, keeping text and xmlUrl, which turns a nested reader-export tree into a checkable list of feed URLs. All parsing uses the browser's XML parser, so entity handling and encoding follow the platform, and nothing is fetched from the network - you supply the bytes, which also means feeds behind logins work fine as long as you can copy their XML.

Targeted Use Cases

  • Checking that a podcast or blog feed is valid and has current items before subscribing.
  • Auditing an OPML export from a feed reader: which feeds are present, and are the URLs right?
  • Extracting the latest item links from a feed to paste into a newsletter or status update.
  • Debugging why a feed shows nothing in a reader - see exactly what the parser sees.

Notes & Gotchas

  • Paste the raw XML (view-source on the feed URL); HTML copied from a browser rendering is not the feed.
  • Trust the detected-format badge - if a .rss file is actually OPML, the badge will say so.
  • Dates are shown exactly as the feed publishes them; feeds with inconsistent date formats are a common reader bug source.
  • For OPML audits, check for entries with empty xmlUrl - those are containers, not subscribable feeds.

Frequently Asked Questions

Which feed formats are supported?

RSS 2.0, Atom, and OPML, detected from the root element rather than the file name. RDF-based RSS 1.0 feeds may parse partially since their structure differs.

Does the tool fetch the feed URL for me?

No - deliberately. Browsers block cross-origin fetches of arbitrary feeds, and private feeds need your cookies. Paste the XML, which also keeps credential-protected feeds working.

Why is the summary shown without formatting?

Feeds embed HTML in descriptions. The viewer strips it to plain text so you read the content rather than the markup - it is a reader's preview, not a web page renderer.

What does an empty xmlUrl mean in an OPML file?

That outline is a folder or category container, not a feed. Subscribable entries always carry an xmlUrl attribute pointing at the feed document.