Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Seven tools in the current roundup are substantiated, not eight. The right choice depends on what you need to check: Nu HTML Checker for standards-oriented HTML, CSS, and SVG validation; HTMLHint for configurable rules in a Node.js workflow; markuplint for framework markup and house conventions; and HTML-validate for strict local checking of complete documents and template fragments. The remaining tools target narrower template or ESLint-based workflows.

What an HTML linter actually checks

“HTML linter” describes several related jobs rather than one universal test. A tool may validate a document against web standards, enforce team style rules, parse incomplete component templates, or inspect HTML embedded in JavaScript and framework files. A standards validator can accept markup that violates your project’s conventions, while a style linter can enforce conventions without proving that a document is standards-valid.

Use the comparison below to match the tool to your source format, runtime, and deployment model. None of these entries has been independently ranked or hands-on tested here.

Quick comparison

Tool Best fit Input and workflow Runtime or integration License/status evidence
Nu HTML Checker (v.Nu) Standards-oriented validation HTML documents; also checks CSS and SVG Command line, REST service, or precompiled platform binaries; JAR/WAR requires Java 17+ Official project; production guidance uses the release named “latest”
HTMLHint Configurable HTML rules in Node projects Files, directories, URLs, and programmatic API Node.js 22+ in the current README; npm and .htmlhintrc MIT, according to the project README
markuplint Custom conventions and framework markup HTML and related markup Node CLI, playground, packages, VS Code extension, and framework/template plugins MIT, as reported in the 2026 roundup; verify integrations in project documentation
HTML-validate Strict local checks for documents and fragments Complete documents, component fragments, and transformed sources Offline/local workflow; supports extraction from JavaScript or other source files MIT, as reported in the roundup; confirm current compatibility
LintHTML HTML5 linting with htmllint-compatible rules HTML files through its CLI Standalone CLI and fixes ISC, as reported; present maintenance should be checked
jinjalint Jinja-like and Django templates HTML plus Jinja tags; can fix issues Specialist template parser; XHTML is unsupported MIT, as reported; described as a prototype
HTML ESLint Teams already using ESLint Standalone HTML and HTML in JavaScript/TypeScript template literals ESLint extension; reported coverage includes React, Svelte, and Angular MIT, as reported; verify current plugin boundaries

1. Nu HTML Checker (v.Nu): strongest standards check

Nu HTML Checker is the most appropriate starting point when the question is “is this document valid according to current HTML rules?” The official project says it checks HTML, CSS, and SVG, supports batch command-line checks, and can run as a service with a REST API. The W3C developer-tools directory lists it for checking HTML documents.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose it when

  • You need standards-focused diagnostics rather than only house style.
  • Your CI system should validate many documents from the command line.
  • You want to self-host a validation service or include CSS and SVG checks.

Runtime details

The project’s current README says precompiled Linux, Windows, and macOS binaries bundle a Java runtime. The portable JAR and WAR require Java 17 or newer. It recommends using the release named latest for production and no longer uses major version-numbered releases.

2. HTMLHint: configurable rules for Node.js teams

HTMLHint performs static analysis on HTML and is a practical fit for projects that want explicit, team-owned rules. Its current README requires Node.js 22 or later and documents local or global npm installation, command-line checks for files and directories, URL checks, a programmatic API, .htmlhintrc configuration, and custom rules.

Choose it when

  • Your project already standardizes on Node.js and npm.
  • You need configurable conventions such as attribute, indentation, or structure rules.
  • You want to invoke linting from scripts or consume results through an API.

Recheck the Node.js requirement when installing because runtime requirements can change. The project README reports an MIT license.

3. markuplint: framework-aware markup and house rules

markuplint is aimed at conformance checks plus custom markup conventions. The available 2026 description reports checks for HTML Standard and WAI-ARIA concerns, structural rules, selector-based rules, and plugins for JSX, Vue, Svelte, Astro, Alpine.js, HTMX, Pug, and PHP. It also describes a Node CLI, playground, reusable packages, and a VS Code extension.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose it when

  • Markup is spread across components or framework templates.
  • Your team needs custom conventions in addition to conformance checks.
  • Editors and CI should use the same rule package.

Those integration details come from a secondary roundup description; check the project’s own documentation before pinning a specific plugin or framework version. The roundup reports an MIT license.

4. HTML-validate: strict local validation for documents and fragments

HTML-validate emphasizes strict parsing and offline checking. It is described as handling both complete HTML documents and incomplete fragments emitted by components such as AngularJS or Vue. It can also extract transformed markup from JavaScript or other source files, which is useful when the HTML is not stored in standalone files.

Choose it when

  • Templates are assembled from fragments rather than complete pages.
  • Source code must stay local instead of being sent to a remote service.
  • You want parser errors and lint rules in one component-oriented workflow.

The roundup reports an MIT license. Confirm current framework compatibility against the project documentation.

5. LintHTML: htmllint-style HTML5 checks

LintHTML is described as an HTML5 linter and validator forked from htmllint. Its own CLI and fixes retain htmllint rules while adding project changes. This can make it useful where an existing htmllint-style configuration is more valuable than a broader framework tool.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Before adopting it

  • Review the repository’s recent maintenance activity.
  • Confirm that its current rules and auto-fixes match your HTML version and build process.
  • Check how its forked rule behavior differs from the htmllint configuration you already use.

The roundup reports an ISC license, but the evidence available here is secondary and does not establish current release health.

6. jinjalint: a specialist for Jinja-like templates

jinjalint is not a general standards validator. Its description calls it a prototype that checks indentation and correctness in Jinja-like and HTML templates, parses both HTML and Jinja tags, and can fix issues. Django templates are supported; Twig-like languages may work, while XHTML is unsupported.

Choose it when

  • Your primary source files are Jinja or Django templates.
  • Template indentation and tag parsing are the immediate problems.
  • You accept prototype-level maturity and a narrower scope.

The roundup reports an MIT license. Use a separate standards validator if you also need conformance checking of the rendered HTML.

7. HTML ESLint: HTML checks inside an ESLint workflow

HTML ESLint is described as an ESLint extension for standalone HTML and HTML embedded in JavaScript or TypeScript template literals. The 2026 description reports rule categories for best practices, SEO, accessibility, and style, with some auto-fixable rules, and workflow coverage including React, Svelte, and Angular.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose it when

  • ESLint is already the central linting system for your repository.
  • Markup lives inside template literals as well as separate HTML files.
  • You want HTML-related diagnostics beside JavaScript and TypeScript diagnostics.

Verify the current plugin’s supported file types, processors, and framework boundaries before configuring it. The roundup reports an MIT license.

How to choose for a project

For standards compliance

Start with Nu HTML Checker, especially when CSS and SVG are part of the validation boundary or when a service endpoint is useful.

For configurable HTML conventions

Choose HTMLHint in a Node.js repository, or markuplint when framework templates and custom markup rules are central.

For component fragments and local-only checks

Evaluate HTML-validate. Its documented scope includes incomplete fragments and transformed sources, not just full standalone documents.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For server-rendered template syntax

Use jinjalint only when its Jinja-like focus matches your templates. Treat it as a specialist linter, not a replacement for rendered-document validation.

For an ESLint-centered monorepo

HTML ESLint may reduce tool sprawl by bringing HTML and template-literal checks into the ESLint workflow.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

A practical CI workflow

  1. Identify the source boundary. Separate complete generated documents, component fragments, server templates, and HTML inside JavaScript or TypeScript.
  2. Select the validator by boundary. Use Nu HTML Checker for standards checks; use HTMLHint, markuplint, or HTML-validate for configurable project rules and fragments; add a specialist only where its template model fits.
  3. Install the required runtime. Confirm Node.js 22 or newer for the current HTMLHint README, or Java 17 or newer for Nu’s portable JAR/WAR. Bundled Nu binaries include a runtime.
  4. Run locally first. Fix parser errors and high-confidence accessibility or conformance findings before enabling a CI failure.
  5. Commit configuration. Store rule configuration with the project and document intentional exceptions so editor, local, and CI results agree.
  6. Validate generated output when necessary. Template linting checks source syntax; a standards validator can catch problems introduced during rendering or transformation.

Limitations and maintenance checks

  • These tools do not inspect identical concerns, so a clean result from one is not proof that another would also pass.
  • Secondary descriptions for markuplint, HTML-validate, LintHTML, jinjalint, and HTML ESLint may become outdated; verify repositories before relying on a particular integration, release, or rule.
  • Runtime requirements and framework support are volatile. Pin versions in CI and recheck them during upgrades.
  • Linters can add friction to old or very large codebases. Introduce rules incrementally, baseline existing violations, and fail builds only on agreed categories.

Why the title says seven, not eight

The current evidence identifies seven distinct tools: HTMLHint, Nu HTML Checker, markuplint, HTML-validate, LintHTML, jinjalint, and HTML ESLint. It does not substantiate an eighth entry or prove that these are objectively the “best” tools. Calling the list seven keeps the count aligned with the tools that can actually be described and compared.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.