HTML 格式化
HTML 代码美化压缩含缩进格式化:自研 tokenizer,块级元素缩进、行内元素保持同行、br/img/input 等 void 元素不补结束标签、pre/textarea/script/style 内容原样保留,属性引号规范化且缩进宽度可配。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
在上方输入 HTML,结果会实时显示在这里。
这个工具能做什么
- 把压缩成一整行的 HTML 邮件、模板或爬取结果展开成带缩进的版本,方便定位嵌套结构。
- 发布前给 HTML 瘦身:折叠空白、去掉注释、去掉多余引号,得到体积更小的静态页面。
- 检查别人给的模板里标签有没有写错:属性引号不配对、标签缺少 `>` 都会直接报错。
- 把 `script` / `style` / `pre` / `textarea` 里的内容原样保住的同时整理外层结构,不用担心里面的代码被改坏。
示例
输入
<div><p>Hello <b>world</b>!</p><p>Second</p></div>
输出
<div> <p>Hello <b>world</b>!</p> <p>Second</p> </div>
块级元素各占一行,行内元素(b、span、a…)保持在同一行;br、img、input 这类 void 元素不会补上结束标签。
常见问题
重排空白会改变页面显示吗?
一般情况下不会。HTML 会把连续空白折叠成一个空格,所以块级元素之间的换行与缩进对渲染没有影响。只有 pre、textarea、script、style 的内容是空白敏感的,这四类元素的内容会原样保留。
为什么 br、img、input 没有闭合标签?
它们是 HTML 标准定义的 void 元素,本来就没有结束标签,写了 `</br>` 反而是错的。美化时保留 `<img ...>` 这样的写法,压缩时也不会补 `/>`。
属性引号会被怎么处理?
美化模式统一改成双引号,值里原本的 `"` 会转义成 `"`,没有引号的值(如 `type=text`)会补上引号。压缩模式反过来:值里没有空格、引号和 `<>` 时就去掉引号。
内联脚本和样式会被压缩吗?
不会。script、style、pre、textarea 的内容一律按原样输出,只把它们整体挪到独立的行上,不做任何空白折叠或代码压缩,避免改坏字符串、正则或换行敏感的代码。
支持片段(没有 html/body 的结构)吗?
支持。输入的 HTML 不需要完整文档结构,格式化器按标签层级缩进,遇到没有开始标签的结束标签(HTML 允许省略)会照原样输出而不会报错。
关键词:htmlhtml formatterhtml beautifyhtml minifypretty print htmlhtml 格式化html 美化html 压缩缩进void 元素属性引号代码美化