HTML 압축기

코드 조각, 이메일 본문 또는 전체 페이지를 최대 1,000,000자까지 붙여넣을 수 있습니다.

다음: 옵션 선택

HTML을 붙여넣거나 HTML 파일을 열고 얼마나 제거할지 선택하면, 절감한 바이트 수와 함께 더 작아진 HTML을 복사하거나 다운로드할 수 있습니다. 안전 수준은 두 단어를 절대 붙이지 않으므로 페이지의 모양과 동작이 그대로이며, 인라인 CSS와 JavaScript도 함께 최소화합니다.

HTML 압축기 사용법

  1. 1

    HTML 추가

    마크업을 편집기에 붙여넣거나 UTF-8로 저장된 .html, .htm, .xhtml 파일을 여세요. 최대 1,000,000자까지 가능합니다.

  2. 2

    수준과 옵션 선택

    어떤 HTML에든 안전을 그대로 두거나, 테스트할 완전한 페이지라면 최대를 선택하세요. 그런 다음 주석을 제거할지, 인라인 CSS와 JavaScript를 최소화할지 정하세요.

  3. 3

    결과 복사 또는 다운로드

    최소화된 HTML과 크기를 확인한 다음 복사하거나 파일로 다운로드하세요. 결과 페이지에서 옵션을 바꾸면 다시 최소화됩니다.

최소화 도구가 바꾸는 내용

이 도구는 널리 쓰이는 오픈 소스 HTML 최소화 라이브러리인 html-minifier-terser를 CSS용 clean-css, JavaScript용 Terser와 함께 사용합니다. 두 수준 모두 단어 사이의 공백과 <b>, <a> 같은 인라인 태그 사이의 공백을 유지합니다. 완전한 페이지에서는 최대 수준이 더 많이 줄여 줍니다.

변경 사항 안전 최대
줄바꿈과 연속된 공백 공백 하나로 바뀜 공백 하나로 바뀌고, <div>, <li> 같은 블록 사이에서는 사라짐
단어와 인라인 태그 사이의 공백 유지 유지
</p>, </li>, <head>, <body> 같은 생략 가능한 태그 유지 제거
속성 값을 감싸는 따옴표 유지 HTML이 허용하는 곳에서 제거
checked="checked" 같은 불리언 속성 유지 checked로 축약
비어 있는 class, id, style 속성 유지 제거
<br/>의 닫는 슬래시 유지 제거
type="text/javascript"와 type="text/css" 제거 제거

XHTML: .xhtml 파일을 열거나 HTML이 <?xml version="1.0"?> 같은 XML 선언으로 시작하면, 두 수준 모두 생략 가능한 태그, 속성 값을 감싸는 따옴표, checked="checked" 같은 불리언 속성, 닫는 슬래시를 유지하고 JavaScript는 최소화하지 않습니다. 따라서 결과를 여전히 XML로 읽을 수 있습니다.

옵션

  • 주석 제거(기본값: 켜짐): 일반 주석을 제거합니다. <!--!로 시작하는 주석(라이선스 고지 등), 서버 사이드 인클루드(SSI) 주석, Internet Explorer 조건부 주석은 유지됩니다.
  • CSS 최소화(기본값: 켜짐): <style> 요소와 style 속성의 CSS를 짧게 만듭니다. @import는 그대로 남고 아무것도 다운로드하지 않습니다.
  • JavaScript 최소화(기본값: 켜짐): 인라인 스크립트와 onclick 같은 이벤트 속성을 짧게 만듭니다. 지역 변수 이름은 짧아지고, 전역 이름은 그대로 남으며, /*! ... */ 형식의 라이선스 주석은 유지됩니다. JSON-LD 같은 구조화된 데이터의 내용은 최소화하지 않습니다.

절대 바뀌지 않는 것

  • <pre>와 <textarea> 안의 텍스트. 이곳에서는 공백과 줄바꿈이 페이지에 그대로 보입니다.
  • &nbsp;, &amp;, &eacute; 같은 문자 참조.
  • PHP(<?php ... ?>) 블록과 ASP 스타일(<% ... %>) 블록, 그리고 두 개의 <!-- htmlmin:ignore --> 주석 사이에 있는 모든 내용.
  • doctype, <a name> 앵커, 입력란의 type="text", SVG 안의 대소문자와 닫는 슬래시.

표시될 수 있는 안내

  • 스크립트를 읽을 수 없음: 그 자체로는 유효한 JavaScript가 아닌 인라인 스크립트나 이벤트 속성은 최소화하지 않고 그대로 두며, 오류의 줄과 열을 표시합니다. 페이지의 나머지 부분은 그대로 최소화됩니다.
  • CSS 블록을 읽을 수 없음: 해당 CSS는 최소화하지 않고 그대로 둡니다.
  • UTF-8이 아닌 문자 집합: 다운로드 파일은 항상 UTF-8로 저장되므로, 페이지의 <meta charset>을 UTF-8로 바꾸거나 결과를 복사해 직접 만든 파일에 붙여넣으세요.
  • 절감 없음: 이 옵션으로는 HTML을 더 이상 줄일 수 없습니다.

<script> 또는 <style> 요소가 닫히지 않으면 아무것도 최소화되지 않으며, 그 요소가 시작하는 줄과 열이 표시됩니다. 어떤 수준을 쓰든 게시하기 전에 최소화된 페이지를 열어 직접 둘러보세요.

자주 묻는 질문

안전 수준이라면 그렇습니다. 공백은 하나로 줄어들 뿐 제거되지 않으므로 <b>Hello</b> <i>world</i>는 여전히 “Hello world”로 읽히고, 나란히 놓인 요소 사이의 간격도 유지됩니다. white-space: pre처럼 CSS가 공백을 그대로 표시하는 텍스트만 달라질 수 있습니다.

게시하기 전에 테스트하는 완전한 페이지에 사용하세요. 블록 사이의 공백과 </p> 같은 생략 가능한 태그를 제거해 더 많은 바이트를 줄입니다. 두 가지를 확인하세요. display: inline-block으로 나란히 놓인 요소는 사이의 간격이 사라질 수 있고, 마지막 </p>가 제거된 조각은 뒤에 추가되는 HTML을 흡수할 수 있습니다.

주석 제거가 켜져 있으면 일반 주석은 제거됩니다. <!--!로 시작하는 주석, <!--#include virtual="/footer.html" --> 같은 서버 사이드 인클루드 주석, <!--[if IE]> 같은 Internet Explorer 조건부 주석은 유지됩니다. 어떤 부분을 작성한 그대로 유지하려면 두 개의 <!-- htmlmin:ignore --> 주석 사이에 넣으세요. 두 표시는 제거됩니다.

JavaScript는 유효한 코드로 읽을 수 있을 때만 최소화됩니다. 인라인 스크립트에 구문 오류가 있거나, 그 자체로는 JavaScript가 아닌 템플릿 코드가 들어 있으면 그 스크립트는 최소화하지 않고 그대로 두고, 페이지의 나머지 부분은 최소화하며, 오류의 줄과 열을 표시합니다.

아니요. 붙여넣거나 연 HTML은 브라우저에 남습니다. 저희 서버로 전송되지 않으며 페이지 링크에도 추가되지 않습니다. 단계 사이에는 탭을 닫거나 다시 시작을 선택할 때까지 이 브라우저 탭에 보관됩니다. 결과를 요청하면 페이지가 최소화 도구의 코드를 다운로드하고, HTML은 포함하지 않은 채 최소화가 실행되었다는 사실만 저희 서버에 알립니다.

붙여넣은 경우와 UTF-8로 저장된 파일에서 연 경우 모두 최대 1,000,000자입니다. 파일이 다른 인코딩을 사용하면 도구가 알려 줍니다. 편집기에서 파일을 열고 HTML을 복사해 여기에 붙여넣으세요. 30초가 넘게 걸리는 작업은 중단됩니다. 이 경우 HTML의 더 짧은 부분으로 시도해 보세요.

관련 도구

이 도구는 다른 언어로도 제공됩니다