The <article> element
The <article> tag represents a self-contained piece of content that could be distributed or reused independently — a blog post, a news story, a forum post, or a product card. A useful test: if it would make sense in an RSS feed on its own, it’s probably an <article>.
Last updated: October 3, 2026
Quick facts
| Category | Flow content, sectioning content, palpable content |
| Content model | Flow content |
| Tag omission | Neither the start nor end tag can be omitted |
| Permitted parents | Any element that accepts flow content |
| DOM interface | HTMLElement |
Syntax
Live example
Edit the code below and watch the preview update instantly.
Attributes
| Attribute | Description |
|---|---|
| — | <article> has no attributes of its own — only the global attributes shared by every HTML element. |
Common examples
A blog post
The classic article: its own header with title and date, the content, and a footer with the author.
A list of cards
Each card in a blog index or product grid is self-contained, so each one can be an article.
Comments inside a post
User comments are self-contained too, so they can be articles nested inside the post’s article.
A news article with a byline
Combine <time> for the date and <address> for the author’s contact details.
<article> vs <div>
A <div> is a meaningless box used for styling and layout. An <article> tells browsers, screen readers and search engines that the content inside is a complete, independent piece — something that would make sense on its own, such as a post, a story or a product card.
The test is simple: could you share or syndicate this content by itself? If yes, use <article>. If it’s just a wrapper to make the layout work, use a div.
| <article> | <div> | |
|---|---|---|
| Meaning | Self-contained content | None |
| Typical use | Posts, cards, comments | Layout and styling |
| Usually has a heading | Yes | No |
Common mistakes to avoid
- Wrapping the whole page in one article. The menu, sidebar and footer aren’t part of the article; wrap only the self-contained content.
- Using article for small fragments. A single paragraph or a “contact us” box isn’t a standalone piece of content.
- Articles without headings. Each article should usually start with a heading that says what it is.
- Using article just for styling. If you only need a box, a div is the honest choice.
Accessibility & SEO tips
- Screen readers can list and jump between articles, which makes long pages of posts or comments easier to browse.
- Add
ArticleorBlogPostingstructured data to blog posts so search engines understand the title, author and dates. - Mark publish and update dates with
<time datetime>so they are machine-readable. - Give each article a clear, descriptive heading — screen readers often list articles by their headings, so “Post 1” or “Read more” tells visitors nothing about what is inside.
Browser support
Supported in all modern browsers, including Chrome, Edge, Firefox, Safari and their mobile versions. It was introduced with HTML5, and only very old browsers such as Internet Explorer 8 needed workarounds.