browser-image-optimizer-sdk
v1.0.0
Published
High-fidelity client-side image compression SDK guaranteeing < 2 MB output across JPEG, PNG, WEBP, AVIF with 1:1 original resolution retention.
Downloads
42
Maintainers
Readme
image-optimizer
Client-side image optimization library and SDK built to compress large image files (16 MB+ down to < 2 MB) while maintaining original pixel dimensions and visual fidelity.
Features
- Original Resolution Retention: Reduces file size while preserving 1:1 pixel dimensions (width × height).
- Adaptive Quality Control: Iteratively adjusts compression factors to meet target size constraints (< 2 MB).
- Client-Side Execution: Operates entirely within the browser using
HTMLCanvasElementandOffscreenCanvasfor data privacy and zero server overhead. - Auto-Compress SDK: Embeddable JavaScript SDK (
FileOptimizerSDK) that hooks into HTML<input type="file">elements to automatically compress files prior to form submission. - Multi-Format Support: Supports WebP, AVIF, JPEG, and PNG input/output.
- Batch Processing: Supports multi-file processing with automated ZIP archive exports.
Website SDK Integration
Option A: Automatic Input Intercept
Attach FileOptimizerSDK to an HTML <input type="file"> element:
import { FileOptimizerSDK } from './src/sdk/FileOptimizerSDK.js';
FileOptimizerSDK.attachToInput('#uploadInput', {
maxSizeBytes: 2 * 1024 * 1024, // 2 MB target limit
onSuccess: (files) => {
console.log('Compressed file ready for upload:', files[0]);
}
});Option B: Programmatic Function Call
Use the compress() method for custom upload handlers:
import { FileOptimizerSDK } from './src/sdk/FileOptimizerSDK.js';
const inputFile = document.getElementById('myInput').files[0];
const compressedFile = await FileOptimizerSDK.compress(inputFile, {
maxSizeBytes: 2 * 1024 * 1024
});
const formData = new FormData();
formData.append('image', compressedFile);
await fetch('/api/upload', {
method: 'POST',
body: formData
});Setup and Development
Installation
cd image-optimizer
npm installDevelopment Server
npm run devBuild Production Bundle
npm run buildLicense
Copyright © 2026 Gilang. All rights reserved.
Proprietary software. Unauthorized copying, modification, or distribution is strictly prohibited.
