Nén HTML (HTML Minifier)
Dán HTML để xóa chú thích và khoảng trắng thừa, đồng thời nén CSS và JavaScript nội tuyến. Nội dung bên trong <pre> và <textarea> được giữ nguyên như đã viết.
Chạy trên trình duyệtKhông cần đăng kýKhông tải lên gì
Cách dùng Nén HTML (HTML Minifier)
- Dán tài liệu hoặc đoạn HTML, hoặc mở tệp
.html. - Chọn những gì cần xóa: chú thích, khoảng trắng, và có nén cả khối
<style>và<script>nội tuyến hay không. - Xem dòng cảnh báo: script nội tuyến có lỗi cú pháp sẽ được giữ nguyên thay vì làm hỏng trang của bạn.
- Sao chép HTML đã nén hoặc tải xuống.
Những gì bị xóa?
- Chú thích:
<!-- … -->bị xóa, trừ chú thích điều kiện của Internet Explorer và chú thích bắt đầu bằng<!--!. - Khoảng trắng giữa các phần tử khối: xuống dòng và thụt lề giữa các thẻ như
<div>,<li>hay<head>không bao giờ được hiển thị, nên bị loại bỏ hoàn toàn. - Chuỗi dấu cách liên tiếp trong văn bản: được gộp thành một dấu cách, đúng như cách trình duyệt hiển thị chúng.
- Khoảng trắng bên trong thẻ:
<p class = "a">trở thành<p class="a">.
Những gì được giữ lại?
Ở một số chỗ khoảng trắng có ý nghĩa, và công cụ nén tôn trọng điều đó. Nội dung của <pre> và <textarea> được giữ nguyên từng byte. Một dấu cách giữa các phần tử nội tuyến, như <b>bold</b> text, được giữ lại vì xóa nó sẽ làm các từ dính vào nhau. Giá trị thuộc tính và dấu nháy không bao giờ bị thay đổi.
CSS và JavaScript nội tuyến
Khối <style> nội tuyến được tối ưu bằng CSSO và khối <script> nội tuyến bằng Terser, cùng các engine được dùng ở trang nén CSS và nén JavaScript. JSON-LD và các khối script JSON khác được thu gọn, còn script có kiểu không xác định (ví dụ template) được giữ nguyên.
Nén HTML có đáng không?
Với trang render phía máy chủ và trang tĩnh, tài liệu HTML là thứ đầu tiên trình duyệt tải về, nên mỗi byte tiết kiệm được đều rút ngắn thời gian hiển thị lần đầu. Mức tiết kiệm 10–25% trước khi nén gzip là phổ biến, nhiều hơn với các template thụt lề sâu và trang có script nội tuyến lớn.
Câu hỏi thường gặp
Nén HTML có làm thay đổi giao diện trang không?
<pre>/<textarea> không bị đụng tới. Nếu bạn định kiểu phần tử bằng white-space: pre trong CSS, hãy tắt Gộp khoảng trắng.