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
Paste the feed XML
Paste the raw RSS or Atom XML, or load the sample.
- 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
Preview the entries
The top items are listed with title, link and date, so you can see what feed readers will show.
- 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?
Why does my feed report a parser error?
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
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
- Paste the raw RSS or Atom XML — it is parsed locally, never sent to a server.
- If the document is malformed the validator reports a parsererror instead of a preview; fix the XML and paste again.
- Check the detected format. An
rssroot reads as RSS, afeedroot as Atom; anything else is flagged as an unknown root element. - 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 &, 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.