Need to optimize your JavaScript for production? This guide covers everything you need to know about JavaScript minification via API, including compression techniques, uglification, and implementation examples in multiple languages.
What is JavaScript Minification?
JavaScript minification is the process of removing unnecessary characters from JavaScript code without changing its functionality. This includes removing whitespace, comments, and shortening variable names. Advanced minifiers also perform code optimization and dead code elimination.
For example, function add(a, b) { return a + b; } becomes function add(a,b){return a+b} when minified.
Why Minify JavaScript?
JavaScript minification provides several important benefits:
- Faster Load Times: Smaller files download faster
- Reduced Bandwidth: Lower data transfer costs for users and servers
- Better Performance: Less code to parse means faster execution
- Code Protection: Minified code is harder to read and reverse-engineer
Using the JS Minifier API
TinyFn provides a simple endpoint to minify JavaScript code:
POST https://api.tinyfn.io/v1/minify/javascript
Headers: X-API-Key: your-api-key
Content-Type: application/json
{
"javascript": "function greet(name) {\n console.log('Hello, ' + name);\n}"
}
{
"minified": "function greet(n){console.log(\"Hello, \"+n)}",
"original_size": 58,
"minified_size": 42,
"compression_ratio": "27.6%"
}
Parameters
| Parameter | Type | Description |
|---|---|---|
javascript |
string | The JavaScript code to minify (required) |
mangle |
boolean | Shorten variable names (default: true) |
source_map |
boolean | Generate source map (default: false) |
compress |
boolean | Apply code optimizations (default: true) |
Code Examples
JavaScript / Node.js
const response = await fetch('https://api.tinyfn.io/v1/minify/javascript', {
method: 'POST',
headers: {
'X-API-Key': 'your-api-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
javascript: 'const multiply = (a, b) => a * b;',
mangle: true
})
});
const { minified, compression_ratio } = await response.json();
console.log(`Compressed by ${compression_ratio}`);
Python
import requests
js_code = """
function calculateTotal(items) {
let total = 0;
for (const item of items) {
total += item.price;
}
return total;
}
"""
response = requests.post(
'https://api.tinyfn.io/v1/minify/javascript',
json={'javascript': js_code, 'mangle': True},
headers={'X-API-Key': 'your-api-key'}
)
data = response.json()
print(f"Minified: {data['minified']}")
cURL
curl -X POST "https://api.tinyfn.io/v1/minify/javascript" \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{"javascript": "const x = 1 + 2;", "mangle": true}'
Optimization Techniques
- Whitespace Removal: Remove spaces, tabs, and newlines
- Comment Removal: Strip all JavaScript comments
- Variable Mangling: Shorten variable and function names
- Dead Code Elimination: Remove unreachable code
- Constant Folding: Evaluate constant expressions at compile time
- Function Inlining: Inline small functions for performance
Best Practices
- Minify for production only: Keep source files readable for development
- Use source maps: Enable debugging of minified code in production
- Automate in build: Integrate minification into your build process
- Test thoroughly: Verify minified code works correctly, especially with mangling
Try the JavaScript Minifier API
Get your free API key and start minifying JavaScript in seconds.
Get Free API Key