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ì

Kết quả đã thu gọn

Cách dùng Nén HTML (HTML Minifier)

  1. Dán tài liệu hoặc đoạn HTML, hoặc mở tệp .html.
  2. 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.
  3. 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.
  4. 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?
Không. Chỉ những khoảng trắng mà trình duyệt vốn sẽ gộp lại mới bị xóa, và nội dung <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.
Công cụ có nén JavaScript và CSS nội tuyến không?
Có, khi các tùy chọn được bật. Nếu một khối nội tuyến có lỗi cú pháp, nó được giữ nguyên và một cảnh báo được hiển thị, nên trang không bao giờ bị hỏng.
Tôi có thể nén tệp template như Handlebars, Jinja hay Blade không?
Thường là được, miễn là thẻ template nằm trong văn bản hoặc giá trị thuộc tính. Template đặt logic trong tên thẻ hoặc giữa các thuộc tính có thể cần kiểm tra thủ công.
HTML của tôi có bị gửi đi đâu không?
Không. Mọi thứ được xử lý cục bộ trong trình duyệt của bạn.

Công cụ liên quan