There are seven tools in the current roundup—not eight—and they do different jobs. Nu HTML Checker is the strongest fit here for standards-oriented validation of HTML, CSS, and SVG; HTMLHint suits configurable checks in a Node.js workflow; and markuplint or HTML-validate are candidates for teams linting component markup and fragments. The right choice depends on whether you need standards validation, project-specific rules, or template-aware checks.
How to choose an HTML linter
“HTML linter” can mean several things: a tool that checks a document against standards, one that enforces a team’s conventions, or one that understands markup inside a framework or server-side template. These tools overlap, but they do not check identical concerns. A linter also cannot guarantee that a page is accessible, secure, or correct in every browser.
- For standards-oriented checks: start with Nu HTML Checker, which checks HTML, CSS, and SVG.
- For configurable rules in a Node.js project: consider HTMLHint.
- For house rules and framework markup: consider markuplint, after confirming that its current integrations cover your stack.
- For local checks of full documents and fragments: investigate HTML-validate.
- For a specific template language or JavaScript template literal: look at jinjalint or HTML ESLint, respectively, with their scope and maturity caveats in mind.
The available descriptions do not establish a comparative accuracy ranking or hands-on test results, so the recommendations below are workflow matches, not a claim that one tool is universally best.
Seven tools, compared by workflow
| Tool | Best-fit use | Runtime or workflow notes | License or maturity note |
|---|---|---|---|
| Nu HTML Checker (v.Nu) | Standards-oriented validation of HTML, CSS, and SVG | Command line or service with a REST API. Precompiled Linux, Windows, and macOS binaries bundle a runtime; the portable JAR and WAR require Java 17 or later. | The project recommends the release named “latest” for production use and no longer uses major version-numbered releases. |
| HTMLHint | Configurable HTML rules in a Node.js workflow | Current README requires Node.js 22 or later. Offers CLI and programmatic use, file or directory checks, URL checks, and .htmlhintrc configuration. |
MIT license, according to its project README. |
| markuplint | Markup conformance and custom house rules, including framework-oriented work | Secondary reporting lists a Node CLI, playground, reusable packages, and a VS Code extension, plus integrations for several markup and framework formats. Verify current project documentation for your particular integration. | MIT license, as reported in the roundup-linked description. |
| HTML-validate | Strict local checking of documents and component fragments | The roundup-linked description says it handles complete documents and incomplete fragments, can extract transformed sources from JS or other files, and keeps validation local. | MIT license, as reported in the roundup-linked description; confirm current compatibility in the project documentation. |
| LintHTML | HTML5 linting and validation using htmllint-derived rules | Secondary reporting describes a CLI and fixes while retaining htmllint rules. | ISC license, as reported. Check the repository for current maintenance and capabilities before adopting it. |
| jinjalint | Jinja-like HTML templates | Secondary reporting says it parses HTML and Jinja tags, checks indentation and correctness, and can fix issues. Django templates are described as supported; Twig-like languages may work, while XHTML is unsupported. | Described as a prototype; MIT license is reported. It is not a general-purpose standards validator. |
| HTML ESLint | Standalone HTML and HTML in JavaScript or TypeScript template literals | Secondary reporting describes rules for best practices, SEO, accessibility, and style, with some auto-fixes, and workflow coverage for React, Svelte, and Angular. Verify current plugin boundaries and behavior in project documentation. | MIT license, as reported in the roundup-linked description. |
Which tool fits your project?
Choose Nu HTML Checker for standards-oriented validation
Nu HTML Checker is the clearest match when the main question is whether a document conforms to HTML standards, or when you also want CSS and SVG checks. W3C lists it as a tool for checking HTML documents. The project supports batch checking from the command line and running the checker as a service with a REST API, which makes it a candidate for automated workflows as well as local use. See the Nu HTML Checker project and the W3C developer tools directory.
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
- HTML CSS Design and Build Web Sites
- Comes with secure packaging
- It can be a gift option
Choose an installation route based on your environment: the project’s precompiled Linux, Windows, and macOS binaries include a runtime, while the portable JAR or WAR requires Java 17 or later. For production use, the project recommends the release labeled “latest.”
Choose HTMLHint for configurable HTML rules in Node.js
HTMLHint is a practical fit when you want static analysis with project-specific rules rather than only a standards validator. Its README documents a CLI, a programmatic API, custom rules, and configuration through .htmlhintrc. The current README requires Node.js 22 or later, so check that requirement against the runtime used locally and in CI before adding it. The project is MIT-licensed. See the HTMLHint repository.
Rank #2
Consider markuplint for house rules across markup and frameworks
markuplint is described as checking conformance as well as custom house rules, including HTML Standard, WAI-ARIA, and structural checks. The roundup-linked description also lists integrations for JSX, Vue, Svelte, Astro, Alpine.js, HTMX, Pug, and PHP. Because those details come from secondary reporting and integrations can change, verify the specific parser, plugin, or editor support you need in the markuplint project before standardizing on it. Its license is reported as MIT.
Consider HTML-validate for component fragments and local checks
Many components contain only a fragment of a full HTML document. The roundup-linked description says HTML-validate handles both complete documents and incomplete fragments, can extract transformed sources from JavaScript or other files, and validates locally rather than sending markup to a remote service. That makes it worth evaluating when a team needs strict checks without requiring every component to be a complete page. Confirm support for your current framework and tooling in the HTML-validate project; the roundup reports an MIT license.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchRank #3
Use LintHTML only after checking its present status
LintHTML is described as an HTML5 linter and validator forked from htmllint, with a CLI and fixes that retain htmllint rules. The available description reports an ISC license, but does not establish current maintenance. Before depending on it, inspect its repository for recent activity, compatibility, and documentation. It may be relevant if its rule set fits an existing workflow, but the evidence here does not support treating it as a current default recommendation.
Use jinjalint for Jinja-like templates, not general validation
jinjalint has a narrower purpose: the roundup-linked description calls it a prototype for checking indentation and correctness in Jinja-like/HTML templates. It can parse HTML and Jinja tags and is described as supporting Django templates; Twig-like languages may work, while XHTML is unsupported. Its reported MIT license does not change the important caveat: prototype status and specialized scope make it a poor substitute for a general standards checker. See the jinjalint project and confirm that its current behavior fits your templates.
Rank #4
- Brand: Wiley
- Set of 2 Volumes
- A handy two-book set that uniquely combines related technologies Highly visual format and accessible language makes these books highly effective learning tools Perfect for beginning web designers and front-end developers
Use HTML ESLint when markup is part of an ESLint workflow
HTML ESLint is presented as an ESLint extension for standalone HTML and HTML embedded in JavaScript or TypeScript template literals. The roundup-linked description lists best-practice, SEO, accessibility, and style rule categories, some auto-fixable rules, and workflow coverage for React, Svelte, and Angular. Those are secondary-source descriptions, so check the project’s current documentation for the frameworks, file types, and plugin boundaries you need. The license is reported as MIT.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Set up checks that match how you ship HTML
A useful setup usually separates standards validation from team conventions. For example, a team could use Nu HTML Checker to catch document-level conformance issues and a configurable linter to enforce its own conventions. That is a workflow option, not a requirement: choose checks that add actionable findings for your codebase and do not duplicate one another without a reason.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Best Value
- Match the checker to the input. A complete page, a Vue component fragment, and a Jinja template may need different parsing or extraction support.
- Confirm CI prerequisites. HTMLHint’s current README specifies Node.js 22 or later; Nu’s JAR and WAR need Java 17 or later, while its precompiled platform binaries bundle a runtime.
- Run checks on representative files first. Confirm that the tool parses the markup your project actually uses before making its output a blocking CI gate.
- Review rules before enabling automatic fixes. A fix that is appropriate for one project’s conventions may be undesirable in another; inspect changes rather than assuming every fix is safe.
- Keep the goal narrow and actionable. Linters can create noise, particularly when introduced to old or large codebases. Start with rules that catch problems your team intends to fix, then expand deliberately.
Why this list has seven tools, not eight
The title’s requested count is not supported by the current roundup: it names seven tools—HTMLHint, Nu HTML Checker, markuplint, HTML-validate, LintHTML, jinjalint, and HTML ESLint. No independently verified eighth entry is established here, so this article does not add a tool merely to reach eight. LinuxLinks’ May 2, 2026 roundup likewise presents seven entries: 7 Best Free and Open Source HTML Linter Tools.
There is also a distinction between current HTML checking and legacy validation. W3C’s Markup Validator repository describes DTD validation for HTML 3 and 4 and XHTML, while noting incorporation of Nu for HTML5 and the HTML Living Standard. For modern HTML standards checks, Nu is the relevant option in this comparison; the older validator has a different role. See the W3C Markup Validator repository.
Quick Recap
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.




