Skip to content

RSS Feed Validator

Validate RSS/Atom XML and preview feed entries with parser diagnostics

RSS Feed Validator

Output

Working…

What this tool does

Paste RSS or Atom XML and this validator parses it in your browser with the native DOMParser, flags any XML that is not well-formed, detects whether the feed is RSS or Atom from its root element, and previews the first entries. Nothing is uploaded. Tip: a parsererror almost always means malformed XML — most often a raw ampersand that should be written as an entity.

Updated . Provided as is. Check the output before you rely on it in production.

How to use RSS Feed Validator

  1. 1

    Paste the feed XML

    Paste the raw RSS or Atom XML, or load the sample.

  2. 2

    Validate

    The XML is parsed in your browser. Malformed XML reports a parser error; otherwise the format is identified as RSS or Atom.

  3. 3

    Preview the entries

    The top items are listed with title, link and date, so you can see what feed readers will show.

  4. 4

    Fix the warnings

    An unknown root element or a feed with no items is flagged.

Questions and answers

What is the difference between RSS and Atom?
RSS 2.0 wraps entries in <item> with <pubDate>; Atom uses <entry> with <updated> and puts the link in an href attribute. The validator reads both.
Why does my feed report a parser error?
Usually an unescaped & that must be written as &amp;, an unclosed or mismatched tag, or characters before the XML declaration.

Use it as an API

RSS Feed Validator is also callable as a free HTTP JSON API at https://aidevhub.io/api/rss-feed-validator/ — GET with query parameters or POST with a JSON body, no authentication, CORS enabled, fair use (abusive traffic is throttled at the edge; there is no per-request quota header). Responses return { ok, tool, result, meta }.

curl -s -X POST https://aidevhub.io/api/rss-feed-validator/ \
  -H "Content-Type: application/json" \
  -d '{"xml":"<?xml version=\"1.0\"?><rss version=\"2.0\"><channel><title>Example Feed</title><item><title>Hello</title><link>https://example.com/hello</link></item></channel></rss>"}'

Machine-readable contract: /api/tool/rss-feed-validator.json All API endpoints: /agents/ LLM site index: /llms.txt

For AI agents: how to call this tool

Machine-readable contract, endpoints and examples. Humans can ignore this section.

Best Path For Builders

Dedicated API endpoint

Deterministic outputs, machine-safe contracts, and production-ready examples.

Dedicated API

https://aidevhub.io/api/rss-feed-validator/

OpenAPI: https://aidevhub.io/api/openapi.yaml

GET /api/rss-feed-validator/ GET rss-feed-validator
POST /api/rss-feed-validator/ POST rss-feed-validator

Unified Runtime API

https://aidevhub.io/api/tools/run/?toolId=rss-feed-validator&a=%3C%3Fxml%20version%3D%221.0%22%3F%3E%0A%3Crss%20version%3D%222.0%22%3E%0A%20%20%3Cchannel%3E%0A%20%20%20%20%3Ct

GET and POST are supported at /api/tools/run/ with identical validation and limits.

Limit: 10 req / 60s, input max 512 KB.

How do I validate an RSS feed?

Paste the feed's XML into the validator. It parses the document with the browser's built-in DOMParser, so the first thing it confirms is that the XML is well-formed. It then reads the root element to classify the feed as RSS or Atom and lists the first entries so you can see the parser found real items, not just valid syntax.

Step by step

  1. Paste the raw RSS or Atom XML — it is parsed locally, never sent to a server.
  2. If the document is malformed the validator reports a parsererror instead of a preview; fix the XML and paste again.
  3. Check the detected format. An rss root reads as RSS, a feed root as Atom; anything else is flagged as an unknown root element.
  4. Review the item count and the previewed entries (up to the first ten) with their titles, links, and dates.

RSS vs Atom: the elements this validator reads

What it reads RSS 2.0 Atom 1.0
Root element <rss> <feed>
Entry container <item> <entry>
Title <title> <title>
Link <link> text <link href>
Date <pubDate> <updated> / <published>

Elements as this tool extracts them. It checks XML well-formedness and structure and previews entries — it does not enforce every RSS 2.0 required channel element (such as a channel title, link, and description).

Why does my feed report a parsererror?

A parsererror means the XML is not well-formed, so parsing stops before any feed logic runs. The usual causes are a raw & that must be written as &amp;, an unclosed or mismatched tag, or stray characters before the opening <?xml declaration. Fix the markup and the validator moves on to previewing entries.

Is this RSS or Atom, and why does it matter?

The two formats name their parts differently: RSS wraps items in <item> and dates them with <pubDate>, while Atom uses <entry> and <updated>, and puts the link in an href attribute. The validator detects the format from the root element and reads the matching elements, so the preview works for either.

Does my feed data leave the browser?

No. Parsing happens in the page with DOMParser; the XML is never uploaded. That matters when you are testing a staging or unpublished feed whose contents are not meant to be public yet — the validation runs entirely on your device.