Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

RSS & Atom Feed Validator

Check a feed against its specification, see it like a reader, convert it to JSON Feed.

SEO Uses live data Free preview, no sign-upIncluded in your pass Pro tool Pro pass: ₹179 for 30 days

Free preview.

  • Free preview: the summary counts, the first issues and items in full (up to 10 each) and the first lines of the JSON Feed (up to 20).
  • Locked until you unlock it: download and copy.
  • Unlock: Pro pass, ₹179 for 30 days, a one-time payment that never renews.

Ways to unlock shows how to get the full result.

See passes (opens in a new tab)

Printing this result is locked in the free preview.

Validate a feed

Where the feed is

MySmartCoPilot’s server fetches the feed once (following redirects) and the checks run in your browser. A page address works too: the feeds it links to are listed.

Next steps

About the RSS & Atom Feed Validator

A feed that a reader cannot parse simply stops updating, and nobody tells you. Enter a feed address, paste the feed or open the file, and the validator checks it the way feed readers read it: XML that strict parsers reject (an unescaped &, an  , a broken tag), what the specification requires (title, link and description, Atom’s id and updated, JSON Feed’s version and items), dates in the right format, guids that are unique and honest about being permalinks, enclosures with a URL, length and type, and the problems that confuse readers in practice — relative links in content, several enclosures, items dated in the future.

It reads RSS 2.0 (and the older 0.9x), RSS 1.0 (RDF), Atom 1.0 and JSON Feed 1.0 and 1.1. Each problem comes with its line, a concrete fix and the rule behind it; repeated item problems are grouped with examples. You also get a reader-style preview of the feed (as plain text: nothing from the feed is run or loaded) and the same feed converted to JSON Feed 1.1. For an address, the server’s answer is checked too: status, redirects, content type, caching headers and compression.

How to use it

  1. Enter the feed address in Feed URL (or a page address: if the page links to its feeds, they are listed), paste the feed in Paste feed, or open the file in Open a file.
  2. Press Validate feed. In URL mode MySmartCoPilot’s server fetches the feed once and the checks run in your browser; pasted and opened feeds never leave it.
  3. Fix the errors first: strict readers reject a feed with an XML error, and required elements are what readers rely on. Warnings are recommendations from the specifications and the RSS Best Practices Profile; tips are optional.
  4. Use Preview to see the feed the way a reader lists it, and JSON Feed to see the same feed converted to JSON Feed 1.1.
  5. Without a pass the results are a free preview: every count and the server’s answer, the first half of the issues and items, and the first lines of the JSON Feed. With a Pro pass you see everything and can copy or download the report, the issues as CSV and the JSON Feed file.

Examples

An ISO date in an RSS pubDate
Input
<pubDate>2025-10-01T09:00:00Z</pubDate>
Result
Error · pubDate values that are not valid RFC 822 dates
“2025-10-01T09:00:00Z”: this is an ISO 8601 / RFC 3339 date; RSS needs the RFC 822 format. Write it as Wed, 01 Oct 2025 09:00:00 GMT
A guid that is not a link
Input
<guid>post-1234</guid>
Result
Error · Guids that are not web addresses but count as permalinks
Fix: Add isPermaLink="false" to guids that are not web addresses.

In RSS, isPermaLink is true unless it says otherwise, which promises that the guid is the item’s address.

An HTML entity in XML
Input
<description>Tea&nbsp;time</description>
Result
Error · XML error: Undefined entity &nbsp;: XML knows only &amp; &lt; &gt; &quot; and &apos;. Use a character reference instead (for example &#160; for &nbsp;) or the character itself.

Common uses

  • Finding out why a blog, newsletter archive or podcast stopped updating in feed readers and aggregators.
  • Checking a hand-written or generated feed before publishing it.
  • Checking that a site’s pages advertise their feeds with <link rel="alternate">, so readers and browsers can find them.
  • Converting an RSS or Atom feed to JSON Feed, for apps that read JSON.

What is checked

  • XML: well-formedness with line and column (unescaped & and <, undefined entities such as &nbsp;, mismatched or unclosed tags, control characters, a second root, a late XML declaration), the declared encoding against the file, and undeclared namespace prefixes.
  • RSS 2.0: version="2.0", one <channel> with title, link and description; atom:link rel="self"; language codes; RFC 822 dates (with the corrected form when it can be worked out); ttl, the channel image (width at most 144, height at most 400), textInput, cloud, skipHours and skipDays; every item’s title or description, link, guid (unique, and isPermaLink="false" when it is not an address), pubDate, enclosures (url, length in bytes, MIME type; one per item), author as an email address, relative addresses in content, and elements that are not part of RSS.
  • Atom 1.0: exactly one id, title and updated in the feed and every entry, ids that are absolute IRIs and unique, RFC 3339 dates, authors, rel="self" and alternate links, content or an alternate link in every entry, the summary RFC 4287 requires for src or binary content, and the XHTML div wrapper.
  • JSON Feed: syntax with line and column, version, title and items, home_page_url and feed_url, item ids (present, strings, unique), content_html or content_text, RFC 3339 dates, attachments, deprecated author, and keys that are not part of the format (extensions must start with _).
  • The server’s answer (URL mode): status, temporary or permanent redirects, Content-Type, ETag / Last-Modified (so readers can ask “has it changed?”), compression and the 2 MiB size limit.

Sources

The checks follow the RSS 2.0 specification and the RSS Advisory Board’s RSS Best Practices Profile, RFC 4287 (Atom), JSON Feed 1.1 and the RSS 1.0 specification. Dates follow RFC 822 for RSS and RFC 3339 for Atom and JSON Feed.

Limitations

  • It checks the feed file, not the links in it: it does not fetch item pages, images or enclosures. The Broken Link Checker checks links on a page.
  • Podcast-specific rules of Apple Podcasts, Spotify or the Podcasting 2.0 namespace (artwork size, categories, explicit flags) are not checked; their namespaced elements are accepted as extensions.
  • Fetched feeds are read as UTF-8. A feed in another encoding is flagged, and accented characters may show as � in the preview; open the file instead to have it decoded by its XML declaration.
  • Content in items is shown as plain text in the preview: images, video and formatting are not rendered, and nothing from the feed runs.
  • A site can answer MySmartCoPilot’s server differently from a feed reader, and the server reads at most 2 MiB. Each visitor can run a limited number of fetches per hour; pasted and opened feeds have no limit.

Privacy

In Feed URL mode the address is sent to MySmartCoPilot’s server, which fetches the feed. MySmartCoPilot does not store the address, the feed or the result, and the server log records only the host name, status code and time of each request, never the full URL or your IP address. Pasted text and opened files stay in your browser.

Frequently asked questions

What do I get without a pass?

Without a pass, RSS & Atom Feed Validator shows the summary counts, the first issues and items in full (up to 10 each) and the first lines of the JSON Feed (up to 20). Until you unlock it, the result can’t be downloaded or copied. A Pro or Premium pass, a one-time payment that never renews, unlocks the full result. The pricing page lists the passes and their prices.

Why does my feed not update in feed readers?

The most common causes are an XML error (strict readers then reject the whole feed), items whose guid changes on every build (readers see “new” duplicates, or skip real new items when guids repeat), dates in the wrong format or time zone, and a feed address that redirects temporarily or answers with an error. Validate the feed address and fix the errors first.

What is the right date format for RSS?

RFC 822, as the RSS 2.0 specification says: Wed, 02 Oct 2002 13:00:00 GMT (day name, day, month abbreviation, four-digit year, time and GMT or an offset such as +0000). Atom and JSON Feed use RFC 3339 instead: 2002-10-02T13:00:00Z. When a date is in the wrong format, the validator shows the same moment written correctly.

Does RSS allow HTML in the description?

Yes. The description may contain HTML, escaped as entities (&lt;p&gt;) or wrapped in <![CDATA[ … ]]>. Use full addresses (https://…) for images and links inside it: RSS has no way to say what a relative address is relative to.

Should I publish RSS, Atom or JSON Feed?

All three are read by current feed readers. RSS 2.0 is the most widely supported (and what podcast apps require), Atom is the most precisely specified, and JSON Feed is convenient for apps that work with JSON. Many sites publish RSS and link it from every page with <link rel="alternate" type="application/rss+xml">.

Can I check a feed that is not online yet?

Yes: paste it in Paste feed or open the file. Nothing is sent anywhere. Add the feed’s future address so relative links can be shown in full.

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.