RSS / Atom Feed Validator

Validate a pasted RSS 2.0 or Atom 1.0 feed for spec compliance

Free in-browser RSS and Atom feed validator. Paste an RSS 2.0 or Atom 1.0 feed and check the required elements per spec — channel title/link/description for RSS, feed id/title/updated for Atom — plus per-item checks. Errors reported by element. Nothing uploaded. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What does the validator check for RSS 2.0?

It confirms a single <channel> element containing the required <title>, <link> and <description>. Each <item> must contain at least a <title> or a <description>. It also warns when items lack a <guid>, which aggregators use to de-duplicate entries.

The RSS / Atom Feed Validator checks a pasted feed against the requirements of the RSS 2.0 and Atom 1.0 (RFC 4287) specifications. It tells you which required elements are missing and which recommended ones are worth adding — all parsed locally in your browser.

How it works

The tool parses your XML with the browser’s DOMParser. If the document is not well-formed, it surfaces the parser’s first error and stops. Otherwise it inspects the root element:

  • <rss> — checks for a <channel> containing <title>, <link> and <description>. Every <item> must have a <title> or a <description>, and a missing <guid> raises a warning.
  • <feed> — checks (per Atom) for <id>, <title> and <updated> on the feed and on each <entry>, and warns when no <author> is present at feed level.

Issues are grouped by element so you can see exactly where a feed deviates from the spec. Errors indicate a genuine violation; warnings indicate a recommendation.

Common feed problems and how to fix them

Unescaped ampersands are the most frequent cause of “not well-formed” errors. In XML you must write &amp; not & inside element text. A URL like example.com/search?a=1&b=2 in a <link> element must become example.com/search?a=1&amp;b=2.

Missing <guid> on items is the most common warning. Aggregators like Feedly and NetNewsWire use <guid> to de-duplicate entries across refreshes — without it they may show the same item multiple times if its position in the feed shifts. The simplest guid is the permanent URL of the article.

Atom <updated> format: the value must be a valid RFC 3339 datetime, such as 2026-06-01T12:00:00Z. Plain dates like 2026-06-01 fail spec. Many CMS generators output ISO 8601 dates without the time component — this validator flags that.

No items or entries found: this usually means the XML parsed correctly but the channel or feed wrapper is misconfigured — for example an <rss> tag with version="1.0" instead of version="2.0" uses a different namespace and is not RSS 2.0.

Quick RSS 2.0 skeleton

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>My Feed</title>
    <link>https://example.com</link>
    <description>Latest posts from My Site</description>
    <item>
      <title>First Post</title>
      <link>https://example.com/first-post</link>
      <guid>https://example.com/first-post</guid>
      <description>Summary of the first post.</description>
    </item>
  </channel>
</rss>

Paste this skeleton, confirm it validates green, then replace the placeholder values with your real content. Validating a minimal working feed first makes it easier to isolate which addition breaks the document.