A very light minifier Node.js module.
It allows you to compress JavaScript, CSS, HTML, and image files.
JavaScript:
CSS:
HTML:
- minify-html - Rust-based, recommended
- html-minifier
JSON:
Image:
Other:
Command Line Interface:
Benchmark:
- Benchmark - Compare compressor performance
Upgrading:
- v11 Migration Guide - Run
npx --package=@node-minify/cli -- node-minify doctorto scan your project
- Node.js: 22 or higher
- Module System: ESM only (
"type": "module"in package.json)
npm install @node-minify/core
# Or Yarn
yarn add @node-minify/core
# Or pnpm
pnpm add @node-minify/core
# Or Bun
bun add @node-minify/coreAnd install the compressor(s) you want:
npm install @node-minify/terser # Recommended - modern, fast, well-maintained
npm install @node-minify/esbuild # Recommended - extremely fast, also handles CSS
npm install @node-minify/swc # Recommended - Rust-based, very fast
npm install @node-minify/oxc # Recommended - Rust-based, cutting-edge
npm install @node-minify/uglify-js # Supported - classic, battle-tested
npm install @node-minify/google-closure-compiler # Supported - advanced optimizationsnpm install @node-minify/lightningcss # Recommended - Rust-based, fastest
npm install @node-minify/cssnano # Recommended - PostCSS-based, customizable
npm install @node-minify/esbuild # Recommended - also handles JS
npm install @node-minify/clean-css # Supported - feature-rich, reliable
npm install @node-minify/csso # Supported - structural optimizationsnpm install @node-minify/minify-html # Recommended - Rust-based, fastest
npm install @node-minify/html-minifier # Supported - feature-rich HTML minification
npm install @node-minify/jsonminify # Legacy - JSON minificationnpm install @node-minify/sharp # Recommended - WebP/AVIF conversion, high performance
npm install @node-minify/svgo # Recommended - SVG optimization
npm install @node-minify/imagemin # Supported - PNG/JPEG/GIF compressionimport { minify } from '@node-minify/core';
import { gcc } from '@node-minify/google-closure-compiler';
import { terser } from '@node-minify/terser';
// Using Google Closure Compiler
const result = await minify({
compressor: gcc,
input: 'foo.js',
output: 'bar.js'
});
// Using terser with wildcards
const min = await minify({
compressor: terser,
input: 'src/**/*.js',
output: 'dist/bundle.js'
});
// Using Promise
minify({
compressor: terser,
input: 'src/**/*.js',
output: 'dist/bundle.js'
}).then((min) => {
console.log(min);
});import { minify } from '@node-minify/core';
import { htmlMinifier } from '@node-minify/html-minifier';
const html = `
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
</html>`;
const min = await minify({
compressor: htmlMinifier,
content: html
});
console.log(min);Visit https://node-minify.2clics.net for full documentation.