Free Tool
    Updated 6 June 2026

    RSS Feed Validator

    Find every RSS and Atom feed on a page, verify the XML is valid, and count items. Critical for blogs, podcasts, newsletters, and AI-search syndication.

    By Deepak Shukla — Founder & CEO, Pearl Lemon

    What This Tool Checks

    • RSS 2.0 feeds linked from the page
    • Atom 1.0 feeds linked from the page
    • XML validity of each detected feed
    • Item counts and feed titles
    • Common discoverability paths (`/feed`, `/rss`, `/atom.xml`)

    Why This Matters

    RSS isn't dead — it's how Feedly, NewsBlur, Reeder, podcast platforms, AI search engines (Perplexity, ChatGPT browsing), and dozens of internal news systems still consume your content. A broken or undiscoverable feed cuts off a syndication channel you didn't know you had. Auto-discovery (via `<link rel="alternate">` in `<head>`) is what makes "subscribe in Reader" actually work.

    How to Fix Issues

    1. 1.Add `<link rel="alternate" type="application/rss+xml" title="…" href="…">` to your `<head>`
    2. 2.Validate the feed XML matches the spec (no malformed dates, unencoded ampersands)
    3. 3.Keep at least 10 items in the feed — most readers cache shorter feeds poorly
    4. 4.Use full content `<description>` (not just summaries) for AI-search ingestion
    5. 5.Set proper `<lastBuildDate>` so aggregators know when to refetch

    RSS gets dismissed as a 2005 technology, and that's wrong. The number of automated systems consuming RSS today is HIGHER than at any point in the feed-reader era — they're just invisible. Perplexity, ChatGPT browsing, Feedly's 14M users, every podcast app, half the AI news aggregators built since 2023, and most enterprise internal news portals all consume RSS. If your feed is broken or undiscoverable, you're cut off from those channels without anyone telling you.

    Why AI search makes RSS matter again

    When ChatGPT or Perplexity needs current information about your site, they look for an RSS feed first because it's structured, semantically clean, and timestamped — far easier to ingest than scraping HTML. Sites with valid, fresh RSS feeds get pulled into AI search results more reliably than sites without. This is one of the cheapest AI-search optimisations available.

    Auto-discovery is the part most sites get wrong

    RSS feeds are only useful if readers can find them. The standard mechanism is the <link rel="alternate"> tag in your <head>:

    <link rel="alternate" type="application/rss+xml" title="My Blog" href="/feed.xml">

    When this is present, browsers, feed readers, and AI ingest tools all auto-discover the feed. Without it, even existing readers can't add your site without you manually telling them the feed URL. We check for this auto-discovery tag and flag its absence even when the feed itself exists.

    Common feed validity issues

    • Unencoded ampersands in <title> or <description> (must be &amp; even inside <![CDATA[]]>)
    • Malformed dates — must be RFC-822 (Wed, 15 May 2026 12:00:00 GMT) for RSS, ISO-8601 for Atom
    • Missing required fields — <channel> needs <title>, <link>, <description>; items need <title> or <description>
    • Wrong content-type — should be application/rss+xml or application/atom+xml, not text/xml

    RSS vs Atom — which should I use?

    Both work. Atom is technically better-specified (proper date handling, namespaced extensions, explicit content-type rules) but RSS 2.0 has wider tooling support. WordPress, Substack, Ghost, and most CMSes emit RSS 2.0 by default. If you're hand-rolling, use Atom. If you're using a CMS, use whatever it generates.

    What this tool DOESN'T check

    We don't check feed content quality (item descriptions length, image inclusion, full-text vs excerpt). We don't check lastBuildDate freshness. We don't check podcast-specific tags. For deep validation use the W3C Feed Validator. This tool is for the common case: "does my feed exist, is it linked, and is it valid XML?"

    Methodology

    We fetch your URL's HTML and extract all <link rel="alternate"> tags with type="application/rss+xml" or type="application/atom+xml". We resolve relative URLs against the base. Each discovered feed URL is HEAD-checked for reachability and content-type, then GET-fetched for XML validation. Validation: we parse the XML and verify it has either a root <rss> (RSS 2.0) or <feed> (Atom 1.0) element with at least the minimum required children. Item counts are extracted from <item> (RSS) or <entry> (Atom). We do NOT probe /feed, /rss, /atom.xml style discovery paths — only feeds explicitly declared via <link>. If you're missing auto-discovery, that's the first thing this tool will flag.

    Frequently Asked Questions

    Monitor this continuously with LemWatch

    A one-off free rss feed validator shows you today. LemWatch re-runs the same checks around the clock and alerts you the moment something breaks — free for up to 10 sites, no card needed.

    HTTP Status Code Reference

    Understanding HTTP status codes helps you diagnose issues found by this tool: