Everything you need to integrate CompressWave into your projects or contribute to the codebase.
Drag & drop or click to select videos and images
Select from presets or customize advanced options
Watch real-time progress and download your compressed files
npm install compresswaveimport { compress } from "compresswave";
const result = await compress(file, {
preset: "web"
});H.264, CRF 28, 720p, 128k audio
Perfect for websites and streaming platforms
H.264, CRF 32, 480p, 96k audio
Optimized for mobile devices and slower connections
H.264, CRF 30, 1080x1080, 128k audio
Square format for Instagram, TikTok, etc.
H.264, CRF 35, 360p, 64k audio
Small file sizes perfect for email
// Basic video compression
import { VideoCompressor } from 'compresswave';
const compressor = new VideoCompressor({
preset: 'web',
onProgress: (progress) => console.log(`${progress}% complete`),
onComplete: (result) => console.log('Compressed:', result)
});
const compressedFile = await compressor.compress(videoFile);// Smart image compression
import { ImageOptimizer } from 'compresswave';
const optimizer = new ImageOptimizer({
quality: 0.8,
maxWidth: 1920,
format: 'auto', // Auto-detect best format
progressive: true
});
const optimizedImage = await optimizer.process(imageFile);// Process multiple files
import { BatchProcessor } from 'compresswave';
const processor = new BatchProcessor({
concurrency: 2, // Process 2 files at once
onFileComplete: (file, result) => {
console.log(`${file.name} compressed: ${result.compressionRatio}%`);
}
});
const results = await processor.compressFiles(fileList);// Advanced custom settings
const customCompressor = new VideoCompressor({
codec: 'h264',
crf: 23,
preset: 'medium',
audio: {
codec: 'aac',
bitrate: '128k'
},
video: {
bitrate: '1000k',
framerate: 30,
resolution: { width: 1280, height: 720 }
}
});• FFmpeg.wasm for transcoding
• WebAssembly for native performance
• Web Workers for background processing
• Streaming for large files
• Canvas API for manipulation
• WebP/AVIF format support
• Progressive JPEG encoding
• Smart quality detection
• Client-side processing
• Progressive Web App
• Offline functionality
• Real-time progress tracking
CompressWave is open source! Contribute code, report bugs, or suggest features.