Description HTML Checker

Moving a product description from your own site to a marketplace is where HTML goes to die — and it dies quietly. eBay's own wording is that active content is no longer displayed in listings: not rejected, not reported, just absent. What you see is a description missing a section, with nothing anywhere explaining it.

🔒 Your data never leaves your browser.

Two failures, both silent

Active content vanishes. Scripts, iframes, forms, embeds — and the inline event handlers that hide inside otherwise ordinary elements. That last kind is the one that survives a copy-paste from a site template most often, because there is no obvious script tag to notice.

Unclosed tags escape. A missing </div> rarely damages your description; it damages the page around it, because the marketplace's own template inherits the open element. The symptom shows up far from the cause, which is why this one can take a day to track down and five seconds to fix.

What this tool does not claim

It does not know each marketplace's exact allowed-tag list. eBay's active-content policy is published and cited above; Amazon's tag subset lives in Seller Central behind a login, so it is described in the rules below rather than linked to a page that would show you a sign-in screen. What this checks is the set of things that go wrong everywhere — which is most of what actually goes wrong.

Why only the active content is stripped for you

The cleaned version removes scripts, forms and event handlers, because there is no version of those that survives. Styles, links and tables are reported and left alone: whether to keep them depends on what your layout is doing, and quietly deleting a seller's formatting would be its own kind of silent failure.

Every check this tool runs (10 rules)

HTML-A01 Active content

Script, iframe, object, embed, applet and form elements are active content. eBay states plainly that active content such as JavaScript, Flash, plug-ins and form actions is "no longer displayed in listings" — it is not rejected, it simply does not appear, so the description looks like it lost a section and nothing in the seller tools says why. Every other marketplace strips it too.

Fix: Remove it. Anything interactive has to live on your own site, not in a marketplace description.

Source: eBay — JavaScript policy

HTML-A02 Inline event handler

An attribute such as onclick or onerror is JavaScript by another name. It is stripped for the same reason as a script tag, and it survives copy-paste from a site template far more often than a script tag does because it is hidden inside an otherwise ordinary element.

Fix: Remove the attribute.

Source: eBay — JavaScript policy

HTML-U01 Unclosed tag

A tag was opened and never closed. This rarely breaks your description — it breaks the page around it, because the marketplace template inherits the open element. The symptom appears far away from the cause, which is why it is so hard to trace back.

Fix: Close the tag. The position given here is where it was opened.

Source: Derived from the structure of the markup itself — which tags were opened and closed, and in what order. Nothing here depends on a platform-specific list.

HTML-U02 Mismatched closing tag

A closing tag does not match the element it would close, so the nesting is ambiguous. Different platforms recover from this differently, which means the same description renders differently in each — the worst possible outcome for something you only proof once.

Fix: Correct the nesting.

Source: Derived from the structure of the markup itself — which tags were opened and closed, and in what order. Nothing here depends on a platform-specific list.

HTML-L01 Outbound link

Links out of a marketplace listing are restricted almost everywhere, and a link to your own shop is usually a policy violation rather than a formatting problem.

Fix: Remove the link, or point it somewhere the marketplace permits.

Source: Derived from the structure of the markup itself — which tags were opened and closed, and in what order. Nothing here depends on a platform-specific list.

HTML-S01 Inline style or class

Style attributes, style blocks and classes are stripped by most marketplaces and by all of them on mobile. A description that depends on them for its layout collapses into an unformatted wall of text.

Fix: Use plain structural tags — paragraphs, lists, bold — and let the platform style them.

Source: Amazon Seller Central Help → "Product detail page rules" and the category style guides, which list the small subset of HTML tags a description may contain. Seller Central requires a seller login, so we describe the source rather than linking to a page that would show you the homepage.

HTML-M01 Media element

Images, video and audio embedded in a description are handled inconsistently: some platforms strip them, some require the media to be uploaded through their own tools, and some show a broken placeholder.

Fix: Use the platform’s own image and video fields.

Source: Amazon Seller Central Help → "Product detail page rules" and the category style guides, which list the small subset of HTML tags a description may contain. Seller Central requires a seller login, so we describe the source rather than linking to a page that would show you the homepage.

HTML-T01 Layout table

A table used for layout rather than tabular data does not reflow on a phone, where most marketplace traffic is. The description ends up scrolling sideways or getting squeezed to unreadable.

Fix: Use paragraphs and lists; keep tables for data that really is tabular.

Source: Derived from the structure of the markup itself — which tags were opened and closed, and in what order. Nothing here depends on a platform-specific list.

HTML-E01 Nothing but markup

Once the tags are removed there is little or no text left. Whatever the description was carrying, it was carrying it in something that gets stripped.

Source: Derived from the structure of the markup itself — which tags were opened and closed, and in what order. Nothing here depends on a platform-specific list.

HTML-N01 Safe markup

Only structural tags, properly nested, with no active content.

Source: Derived from the structure of the markup itself — which tags were opened and closed, and in what order. Nothing here depends on a platform-specific list.

The active-content rules cite eBay — JavaScript policy. The nesting rules depend on nothing but the markup itself.