How to use it
- Paste code, drop a file or load the sample; the language is preset for this page and can be changed.
- Choose format or minify and adjust indent, width and other options; the result appears on the right as you type.
- Copy or download the result; on an error, use "Go to error", fix it and run again.
What minification does
Minifying changes how code is written, not what it does. It typically cuts 30–70% of the size and speeds up pages; keep your source, because minified code is hard to read.
| Operation | JavaScript(Terser) | CSS(CSSO) | HTML / XML / JSON |
|---|---|---|---|
| Remove comments | ✓ | ✓ | ✓ |
| Remove whitespace and line breaks | ✓ | ✓ | ✓ |
| Shorten variable names | ✓ | — | — |
| Merge rules, shorten colours | — | ✓ | — |
| Drop dead code, fold constants | ✓ | — | — |
| Keep /*! licence comments | Optional | Optional | Optional |
Languages and engines
Formatting uses the same open-source engines as popular editors, so results match Prettier in VS Code and your team can keep one style. Every engine loads from this site and runs in your browser.
| Language | Format | Compress |
|---|---|---|
| HTML | Prettier 3 | ✓ comments and whitespace |
| XML | XunL XML engine | ✓ |
| CSS / SCSS / Less | Prettier 3 | ✓ CSSO restructuring |
| JavaScript / TypeScript | Prettier 3(Babel) | ✓ Terser (JavaScript only) |
| JSON | Prettier 3 | ✓ big numbers keep precision |
| YAML | Prettier 3 | — (comments kept) |
| SQL | sql-formatter (14 dialects) | — |
Frequently asked questions
Will minified code still run?
Terser is the default minifier in webpack and Vite and only applies behaviour-preserving transforms. Turn off "Shorten variable names" for code that relies on function names or uses eval on local variables.
Can it minify TypeScript?
Not directly; compile it to JavaScript first.
Is my code uploaded?
No. The engines download from this site and run in your browser; your code never passes through our servers or any third party, so it is safe for internal code and configuration.
How large can files be?
Up to 5 MB per file; above 300 KB the page waits for the button instead of formatting as you type, to keep the browser responsive.