Skip to content

MD033 - no-inline-html

Description

This rule detects the use of raw HTML elements within Markdown content. HTML elements in code blocks and HTML comments are not flagged.

Fixable: No

Rationale

Raw HTML in Markdown documents may not render correctly in all Markdown parsers and can cause issues when converting to non-HTML formats. Using native Markdown syntax ensures better portability and consistency.

Configuration

allowed_elements

List of HTML element names that are allowed.

  • Default: [] (empty)
table_allowed_elements

List of HTML element names allowed in tables. Falls back to allowed_elements if not set.

  • Default: none

Examples

Invalid

# Invalid Document

<div>This is inline HTML</div>

Some text with <span>inline HTML</span> inside.

<p>A paragraph using HTML</p>

Valid

# Valid Markdown

This is a paragraph with **bold** and *italic* text.

- List item one
- List item two

```html
<div>Code blocks are allowed</div>
```