Make your files smaller.
Compress locally on your phone. Your selected files are not uploaded to a D.D. Tech Labs server.
Compress locally on your phone. Your selected files are not uploaded to a D.D. Tech Labs server.
Images, video, audio, and PDFs are re-encoded right here, in this tab, using your browser's own engine. The bytes never touch a network — there's no server for them to go to.
Nothing you drop below is ever uploadedFour steps, all of them local. There's no fifth step where anything leaves your device.
Dropped or picked files are read straight into memory by your browser. DD Compressor never sees a URL to upload to, because it doesn't have one.
Pick a goal in KB, MB, or GB. It's a target the engine works toward, not a guarantee — an already-compressed file has less room to shrink, and DD Compressor will tell you so rather than fake a result.
Images use the Canvas API with an iterative quality-and-dimension search. Video and audio run through a local copy of FFmpeg compiled to WebAssembly. PDFs are re-built by recompressing their embedded images, keeping the text layer intact.
The output is handed to you as a normal browser download. It existed only in this tab's memory before that.
Everything above runs inside this boundary. No upload endpoint exists in this app's code — not ours, not a CDN's, not an analytics provider's. The Content-Security-Policy on this page (view source, or the note below) is set so the browser itself will refuse any attempt to send data out, even a future bug in this code couldn't create a working upload without that policy also being rewritten.
Where DD Compressor writes the compression logic itself, versus where it runs a well-established open-source engine locally.
| Type | Reads | Writes | Engine |
|---|---|---|---|
| Image | jpg, png, webp, gif, bmp | jpg, png, webp | Our own code — Canvas / OffscreenCanvas |
| Video | mp4, mov, webm, avi, mkv | mp4, webm | FFmpeg (WebAssembly), run locally |
| Audio | mp3, wav, m4a, aac, ogg, flac | mp3, aac, ogg, wav | FFmpeg (WebAssembly), run locally |
| Our own code, on top of pdf-lib | |||
| Other | text, code, JSON, unknown | .gz | Browser-native CompressionStream |
This page's own policy: default-src 'self'; connect-src 'self' blob:; worker-src 'self' blob: — the full policy is in the page's <head> .