Skip to main content
XMLDir

Search 309 pages — tools, formats, elements, namespaces, directory, comparisons, XPath, datatypes, glossary, parse errors, schema errors, use cases, blog and product.

RSS 2.0

<guid>

An item's permanent identifier. Readers use it to tell a new item from one already shown — and a feed that changes it republishes everything.

A guid is any string that is unique and stable for that item. It is commonly a URL, and the isPermaLink attribute says whether it should be treated as one: the default is true, so a guid that is not a URL must set isPermaLink="false" explicitly.

Two failure modes matter. Reusing a guid across items collapses them into one for most readers; regenerating guids — because they contain a timestamp, or a build hash — makes every item look new, and subscribers see the whole feed again.

Format
RSS 2.0
Namespace
None — RSS elements are unqualified
Parent
<item>
How many
At most one per <item>.

What it contains

Nothing — this element holds a value rather than other elements. Its content is text, and the constraints below are what that text has to be.

Attributes

  • isPermaLinkoptionalDefaults to "true". Set "false" for an opaque identifier such as a UUID.

Cardinality and constraints

At most one per <item>.

  • Unique across the feed, and permanent across builds.
  • isPermaLink defaults to true; set it to false when the value is not a URL.
  • When absent, readers fall back to <link>, which is why an item with neither cannot be deduplicated.

What our validator does

Identifiers are collected per item, falling back to <link>; duplicates are an error and items with neither are a warning.

Broken and fixed

Both documents below are well-formed XML — that is the point of this corpus — and both are run through the validator on every test run. The verdicts here are what it returned, not what we expect it to.

broken
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Example</title>
    <link>https://example.com/</link>
    <description>Notes from the example farm.</description>
    <item><title>Hen lays egg</title><guid>https://example.com/egg</guid></item>
    <item><title>Hen lays another</title><guid>https://example.com/egg</guid></item>
  </channel>
</rss>
1 duplicate item identifier — two items claiming the same <guid> collapse into one for most readers.
fixed
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Example</title>
    <link>https://example.com/</link>
    <description>Notes from the example farm.</description>
    <atom:link href="https://example.com/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Hen lays egg</title>
      <link>https://example.com/egg</link>
      <guid>https://example.com/egg</guid>
      <pubDate>Mon, 10 Aug 2026 09:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
No errors. Warnings may remain — a conforming feed can still be missing a self link — but nothing here is wrong.

Get started

Bring order to the XML your team can't afford to ignore.

Create a free account and get a private workspace to search, validate, diff, and monitor your XML feeds, sitemaps, schemas, and vendor integrations.