Here is a number that changed how I ship frontend code: my main bundle was 412 KB, and 130 KB of it was comments, console.logs I forgot, and lovingly indented whitespace. Users on 3G were downloading my documentation habits. Minification deletes exactly that dead weight — and unlike most optimizations, it never changes what the code does. But "never" has fine print, especially once obfuscation enters the chat. Let us do this properly.
What Safe Minification Removes
Three things, all cosmetic. Comments — every // TODO and license-block essay (keep licenses in source!). Whitespace — newlines, indentation, alignment spaces, collapsed with surgical care around word boundaries so return x never becomes the syntax error returnx. Redundant punctuation spacing — the air around brackets and operators. A string-aware scanner is non-negotiable here: contents of quotes, template literals, and regex patterns must pass through byte-identical, or /a\/b/gi becomes modern art. Our JS Minifier does exactly this conservative pass — newlines preserved, strings sacred.
Obfuscation: Honest Talk
Renaming variables to a_, b_ deters casual copying and shrinks files further — and it will not stop anyone determined for more than an afternoon. Treat it as a speed bump with size benefits, never as security. Real secrets belong on servers or in WebAssembly, full stop. If you obfuscate, you accept one non-negotiable duty: test the output. Naive renaming can collide with dynamic property access (obj[myVar]), so run your suite — or at minimum load every page — against the transformed file, not the source.
Minification FAQs
Will minified code run exactly the same?
Safe minification: yes, with vanishingly rare exceptions (code depending on Function.toString output or comment directives). Obfuscation: usually, but test — dynamic property patterns are the classic casualty.
How much smaller will my files get?
Comment-heavy dev code: 30–60%. Already-tight code: 10–20%. Libraries ship minified for a reason — jQuery's min build is roughly a third of its source, and your code has the same proportions of air.
Should I commit minified files to git?
No — commit source, generate minified artifacts at build or deploy time. Committed minified files make diffs unreadable and merge conflicts unsolvable. This tool is for quick jobs and legacy projects without pipelines.
Build Pipelines vs Quick Minify: Know Which You Need
Professional projects minify at build time with Terser or esbuild, complete with source maps mapping every minified line back to source for debuggable stack traces. That is the correct answer at scale — and completely irrelevant when you need one file shrunk in the next ninety seconds. Use quick minification for CodePen demos, client CMS injections, bookmarklets, email-embedded scripts, legacy sites without build tooling, and verification ("how small could this be?"). Graduate to a pipeline when deployments become routine, multiple files need bundling, or source maps matter for production debugging. The two approaches are complements, not competitors: this tool handles the quick 90% of real life, build tools handle the systematic 10%.
Paste your script. Ship the smaller version.
Minify JS Free