자바스크립트 압축기

자바스크립트 입력

파일을 여기에 끌어 놓으세요.js .mjs .cjs · 5MB 이하

0줄 · 0 B

입력한 코드는 이 기기에서만 처리되고 서버로 보내지 않습니다.

결과

코드를 넣고 [압축하기]를 누르면 결과가 나옵니다

사용법

  1. 코드를 붙여넣거나 .js 파일을 끌어 놓습니다.
  2. 변수 이름 줄이기, 주석 제거 옵션을 확인합니다.
  3. [압축하기]로 크기를 줄이거나 [정렬하기]로 읽기 좋게 펼칩니다.
  4. 줄어든 크기와 gzip 예상 크기를 확인합니다.
  5. [결과 복사]나 [.min.js 내려받기]로 가져갑니다.

자주 묻는 질문

입력한 코드가 서버로 전송되나요?

아니요. 압축과 정렬은 내 브라우저 안(Web Worker)에서만 이뤄지고, 코드는 서버로 보내거나 저장하지 않습니다. 페이지를 새로고침하면 입력한 코드는 사라집니다.

압축과 정렬은 어떻게 다른가요?

압축은 주석·공백·줄바꿈을 지우고 지역 변수 이름을 짧게 줄여 파일 크기를 줄입니다. 정렬은 한 줄로 뭉쳐진 코드를 2칸 들여쓰기로 읽기 좋게 펼칩니다. 정렬해도 압축된 변수 이름은 원래대로 돌아오지 않습니다. 주석 제거를 켜도 라이선스 주석(/*! */, @license, @preserve)은 남깁니다.

gzip 크기는 무엇인가요?

서버가 파일을 브라우저로 보낼 때 흔히 쓰는 gzip 압축을 적용했을 때의 예상 크기입니다. 이 기기의 브라우저가 직접 압축해 재며, 실제 서버 설정에 따라 달라질 수 있습니다. 브라우저가 지원하지 않으면 이 칸은 보이지 않습니다. (출처: RFC 1952 (GZIP file format), MDN CompressionStream)

변수 이름 축소를 켜도 코드가 정상 동작하나요?

대부분 그렇습니다. 함수 안의 지역 변수와 매개변수 이름만 바꾸고, 전역 변수와 객체 속성 이름은 그대로 둡니다. 다만 eval()이나 문자열로 변수 이름을 찾는 코드는 동작이 달라질 수 있으니 옵션을 끄고 압축하세요. 압축한 코드는 배포 전에 꼭 실행해 확인하세요. 함수·클래스 이름(.name)에 기대는 코드도 옵션을 끄고 압축하세요. (출처: Terser 공식 문서 (terser.org/docs/options/))

파일을 올리거나 import·export가 있는 코드도 압축되나요?

네. .js .mjs .cjs 파일을 올릴 수 있고, import·export 문이 있으면 ES 모듈로 자동 인식해 처리하며 내보내는 이름은 바꾸지 않습니다. 코드 크기는 5MB까지 처리합니다. 파일은 UTF-8로 읽으므로 다른 인코딩이면 글자가 깨질 수 있습니다.

관련 도구