RSS feed validator

Check any RSS, Atom or JSON feed for errors, see how to fix each one, and see exactly what Feeder sees.

Validation

This feed is valid

No errors and no warnings. Readers will be happy with this one.

Format
RSS 2.0
Items
20
Size
17.2 KB
Checked
https://techcrunch.com/feed/

Passed 14

  • The server answered 200 OK.

  • The server sends the feed as application/rss+xml.

  • The encoding is UTF-8, and every character is valid.

  • The feed is well-formed XML.

  • This is an RSS 2.0 feed.

  • The channel has a title, a link and a description.

  • The feed has 20 items.

  • Every item has a title or description.

  • Every item links to a full web address.

  • Every item has a unique guid.

  • Every item has a valid date, written as an RFC 822 date.

  • The newest item is from September 27, 2026.

  • The feed is 17.2 KB.

  • The server sends ETag and Last-Modified, so readers can skip the download when nothing changed.

Good to know 1

  • The feed has no WebSub hub. That's optional: a hub pushes new items to readers the moment you publish.

What Feeder sees

This is the feed the way Feeder's crawler reads it, with every item it found.

TechCrunch

techcrunch.com
Feed URL https://techcrunch.com/feed/
20
Total items
2
Days covered
2.4h
Avg. interval
100%
Have summaries

Feed items (20)

What the validator checks

Paste a feed address and the validator fetches it the way a feed reader does, then checks it against the rules of RSS, Atom and JSON Feed. It's free and needs no account. Every problem comes with the line it's on and a short note on how to fix it.

  • The connection: the HTTP status, redirects, and whether the server answers within 10 seconds.
  • The file: the Content-Type header, the declared and the actual encoding, and whether the XML is well-formed.
  • The format: RSS 2.0, RSS 1.0, Atom 1.0 or JSON Feed, and the elements each one requires, like a title, link and description for RSS.
  • Every item: a title or description, a link, a unique guid and a date in the right format. Podcast enclosures need a url, a type and a length.
  • The extras: the size of the feed, caching headers that save bandwidth, and a WebSub hub for instant updates.

Errors break the rules of RSS or XML. Some readers can't read a feed with errors at all, and others have to guess, so posts can come out wrong. Warnings don't make a feed invalid. The feed works, but some readers could stumble on these details.

Below the checklist, What Feeder sees shows the feed the way Feeder's own crawler reads it, with every item, date and link.

Common feed errors and how to fix them

Not well-formed (invalid token)

The usual cause is a bare & or < in a title or description, like Tom & Jerry. Write & as &amp; and < as &lt;, or wrap HTML in a CDATA section: <![CDATA[ ... ]]>.

Undefined entity

HTML entities such as &nbsp; don't exist in XML, which only knows five. Use the number instead, like &#160; for a non-breaking space, or put the HTML inside CDATA.

Dates in the wrong format

RSS dates look like Sat, 26 Sep 2026 09:00:00 GMT. Most languages can write them for you: date(DATE_RSS) in PHP, email.utils.format_datetime(dt) in Python and new Date().toUTCString() in JavaScript. Atom and JSON Feed use 2026-09-26T09:00:00Z instead.

Served as text/html

Your server labels the feed as a web page, so some readers may not see a feed there. Serve RSS as application/rss+xml and Atom as application/atom+xml. application/xml works too.

Missing or duplicate guids

Without a unique ID, readers have to guess which posts are new, so an edited post can show up again. Give each item a <guid> that is unique and never changes, like the post's permanent address.

Odd symbols instead of accented letters

The file's characters don't match the encoding it declares, often because Windows-1252 text is labeled UTF-8. Save and serve the feed as UTF-8, and make your server send charset=utf-8.

Something before the XML declaration

A blank line or a space before <?xml breaks the whole feed. On WordPress, a theme's functions.php or a plugin is the usual cause.

For more fixes, see Validate my RSS file. If the feed belongs to someone else, The feed is not valid explains what you can do.

How to add a feed to Feeder

A valid feed can still look wrong in a reader, so test it the way your subscribers will:

  1. In Feeder, click Add feed and paste the feed's address.
  2. Feeder shows the feed with a preview of its newest posts. Check the titles, dates and links.
  3. Follow it, publish a new post and check that it shows up once, as a new post.

Feeder is an RSS reader for the web, your browser, iOS and Android, and you can start for free.

Get started for free

Frequently asked questions

Why does my feed work in one reader but not another?

Readers differ in how strict they are. Many, Feeder included, read feeds with small errors and make a good guess at the rest. Stricter apps, like some podcast apps, give up on the same feed. A feed with no errors works everywhere, so fix them even when your own reader looks fine.

Does a feed have to be valid to work?

Not always. Many readers read feeds with small errors, but stricter apps may reject them, so a valid feed is the safe choice.

Why do old posts show up as new?

Readers track posts by their guid, or by title and date when there is none. New guids, a move to a new domain or a changed server time zone can make every post look new to them.

Can I validate a feed that isn't online yet?

This validator checks feeds by their address, and only on the public internet. For a file that isn't online, paste the XML into the W3C Feed Validation Service under Validate by Direct Input.