jsmin
JavaScript minifier.
Decision gist · record as of 2026-08-14
Yes, if you are minifying ES5 JavaScript only. The package is stable, has no vulnerabilities, and works reliably for its stated purpose. No, if you need ES6+ support—the maintainer explicitly will not add it. Consider alternatives if your codebase uses modern JavaScript syntax. The high install friction and dormant maintenance status are acceptable trade-offs for a simple, focused tool with no dependencies, but do not expect active development.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Python 2 support was removed in version 3.0.0; requires Python 3 only.
- High install friction due to source distribution only.
- Package is dormant—last release was 2022-01-16, though the repository remains active with recent commits.
License · maintenance · safety
MIT License (permissive) — MIT License (permissive) imposes no restrictions on use, modification, or redistribution in commercial or private projects.
last release 2022-01-16 (1671 days) · last repo commit 2024-08-03 · 93 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,232,124 downloads/mo, #4,185 on PyPI
Alternatives
Verify before relying
pip install jsmin
from jsmin import jsmin
with open('myfile.js') as js_file:
minified = jsmin(js_file.read())
# Or from command line:
python -m jsmin myfile.js- Whether ES6+ JavaScript is reliably handled; documentation explicitly states no ES6 compatibility is intended.
- Current maintenance likelihood and likelihood of future updates given time since last release.
What it is and what it does
jsmin is a Python library that compresses JavaScript source code by stripping whitespace, comments, and other non-essential characters while preserving code behavior. It works as both a Python function you can call on JavaScript strings and as a standalone command-line tool.
The package has no external runtime dependencies, making it lightweight to install. However, it explicitly does not support ECMAScript 6 or later syntax—the maintainer has stated no intention to add ES6 compatibility. If you need to minify modern JavaScript, you may need to preprocess your code or use an alternative tool. The library does offer a `quote_chars` parameter for limited workarounds on newer syntax.
Use it for
- Build pipelines that need to compress JavaScript assets before deployment to reduce file size.
- Development tools that process legacy ES5 JavaScript code to optimize distribution.
- Automated scripts that strip comments and whitespace from JavaScript files during packaging.
- Web applications serving static JavaScript where bandwidth reduction is a priority.
- Integration into Python-based build systems that already handle JavaScript as part of a larger workflow.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are minifying ES5 JavaScript only.
The package is stable, has no vulnerabilities, and works reliably for its stated purpose. No, if you need ES6+ support—the maintainer explicitly will not add it. Consider alternatives if your codebase uses modern JavaScript syntax. The high install friction and dormant maintenance status are acceptable trade-offs for a simple, focused tool with no dependencies, but do not expect active development.
Install
jsmin on PyPI
Before you install
High install friction due to source distribution only. Package is dormant—last release was 2022-01-16, though the repository remains active with recent commits. No runtime dependencies simplifies installation once obtained.
Python 2 support was removed in version 3.0.0; requires Python 3 only.
License in practice
MIT License (permissive) imposes no restrictions on use, modification, or redistribution in commercial or private projects.
Quickstart
pip install jsmin
from jsmin import jsmin
with open('myfile.js') as js_file:
minified = jsmin(js_file.read())
# Or from command line:
python -m jsmin myfile.js
Verify before relying
- Whether ES6+ JavaScript is reliably handled; documentation explicitly states no ES6 compatibility is intended.
- Current maintenance likelihood and likelihood of future updates given time since last release.
Package facts
| License | MIT License permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Dormant 1,671 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,232,124 / month, #4,185 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3 :: OnlyTopic :: Internet :: WWW/HTTP :: Dynamic ContentTopic :: Software Development :: Pre-processorsTopic :: Text Processing :: Filters |
Evidence: jsmin-3.0.1.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “minify js code”
- jsminMinifies JavaScript code by removing unnecessary characters while…
- rjsminrjsmin minifies JavaScript code by removing unnecessary characters…
- css-html-js-minifyMinifies CSS, HTML, and JavaScript files or folders to reduce file…
Give your agent the search over MCP, or paste the wish link into any chat.
More Dynamic Content packages
MarkupSafe provides a text object that escapes special characters so untrusted strings can be safely embedded in HTML and XML without injection attacks.
Jinja2 is a templating engine that renders dynamic content by combining templates with Python-like syntax and data, supporting template inheritance, macros, autoescaping, and sandboxed execution.
Soupsieve is a CSS selector library designed to work with Beautiful Soup 4 to select, match, and filter HTML and XML elements using modern CSS selectors from CSS level 1 through CSS level 4 specifications.
Install it if you use Beautiful Soup for HTML or XML parsing and want modern CSS selector support.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
Flask is a lightweight WSGI web application framework for building web applications in Python, from simple single-page sites to complex multi-route applications.
Mako compiles Python-embedded templates into Python modules for fast rendering, supporting layout inheritance, custom functions, and direct Python expressions within template syntax.
See also htmlmin2 · rjsmin · htmlmin · python-minifier · cssmin · mkdocs-minify-plugin · jsbeautifier · JSON_minify · csscompressor · Flask-Minify