⌘K 切换工具
VALIDATE & INSPECT

HTML验证器

验证HTML的常见错误和最佳实践。

local
html-validator

Checks tag nesting and closing, allowing the end tags HTML5 lets you omit (li, p, td, option and friends). Not a full W3C conformance check.

§01 关于此工具

概述

标签嵌套坏掉,是「布局在一个浏览器里塌了、在另一个里却没事」的经典原因。这个工具用一个基于栈的检查器扫描你的标记,把每一处结构问题连同它的行号一起报出来:从不闭合的标签、找不到对应开标签的闭合标签,以及以错误顺序闭合的元素。空元素和注释都被正确对待,所以 <img><!-- note --> 从不会产生误报。

使用方法

  1. 把标记粘贴到 HTML 输入框——每敲一个键都会重新校验。
  2. 读输入框下方的问题列表;每一条都显示 Line N: 和具体问题。
  3. 逐个修掉被标出的行,直到看到 No nesting issues found

示例

  • <div><p>unclosed</div>Line 1: <p> is not closed before </div>
  • <section></article>Line 1: Unexpected closing </article>
  • <ul><li>oneLine 1: <ul> is never closedLine 1: <li> is never closed

说明

这里只检查标签的嵌套和闭合——它不是完整的 W3C 一致性检查。属性写法、实体编码和语义规则都不在范围内,所以这里通过了,并不代表文档在 W3C 的完整校验下也没问题。问题按行号排序,所以请自上而下地修:少一个闭合标签,往往会连带产生好几条报告。

FAQ
我的 HTML 会被上传到哪里吗?
不会。校验在浏览器里用一个轻量解析器完成。你的标记不会离开这个页面,也不会被保存。
这是完整的 W3C 校验器吗?
不是。它只检查标签的嵌套和闭合——没闭合的标签、不匹配的闭合标签,以及多余的闭合标签。它不检查属性、废弃元素、ARIA 或文档一致性;要做完整审查请用 W3C 校验器。
为什么 <img> 和 <br> 没有被判为未闭合?
空元素(area、base、br、col、embed、hr、img、input、link、meta、param、source、track、wbr)从不带闭合标签,所以检查器把它们当作自闭合处理。像 <div /> 这样显式的自闭合写法也接受,HTML 注释则会被跳过。