Media Forge
Exact-size cover art for streaming platforms, images squeezed under a precise KB limit, format conversion with metadata stripping, plus video-to-GIF and full-resolution frame capture — all processed on your device.
or tap to browse
Drag the preview to reposition. The export is rendered at full target resolution.
or tap to browse
PNG · JPG · WebP · GIF · BMP · SVG — batch converts to a ZIP
Re-encoding through a canvas removes EXIF, GPS, camera serial and ICC metadata — so every conversion is also a privacy clean.
decoded by your browser — never uploaded
No video loaded.
Frame grabber
Video → GIF
Engineering Breakdown
The cover-art tool renders the final image on an off-screen canvas at the exact target resolution (3000×3000 px for Spotify and Apple Music) using cover, contain or stretch fitting with your zoom and drag offsets; the on-screen preview is a scaled copy of the same transform. The target-size compressor performs a binary search on the encoder quality parameter: it tests quality 0.95 first, then repeatedly halves the interval between 0.02 and 0.95 for nine iterations, keeping the largest quality whose blob is still under your limit. If even the lowest quality is too big, the canvas is scaled down by 12% and the search repeats, so any KB ceiling is reachable. Format conversion decodes each image to a canvas and re-encodes it, which discards EXIF, GPS and ICC metadata; BMP is written by a small 24-bit encoder, and multiple outputs are zipped with JSZip. Video-to-GIF seeks an HTML5 <video> to evenly spaced timestamps, reads each frame with getImageData, quantises to a 3-3-2 palette and writes a GIF89a stream with a hand-written LZW encoder. The frame grabber draws the video at its native resolution, so 4K sources yield 4K stills.
How to use it in 3 steps
- Pick a tab and drop your image or video — it is decoded by your browser, never uploaded.
- Choose a preset or a target size (for example 3000×3000 px, or under 50 KB), then adjust framing, format or GIF settings.
- Download the result; batch conversions arrive as a single ZIP.
Feature matrix
| Tool | Input | Output | Key setting |
|---|---|---|---|
| Cover art | Any image | JPG / PNG 3000×3000 | Cover / contain fit |
| KB compressor | Any image | JPG / WebP ≤ limit | Binary-search quality |
| Converter | PNG JPG WebP GIF BMP SVG | WebP PNG JPG BMP | Quality, ZIP batch |
| Video → GIF | MP4 WebM MOV | Animated GIF | FPS, width, length |
| Frame grabber | Video | PNG / JPG / WebP | Native resolution |
Frequently asked questions
What are the cover art requirements for Spotify and Apple Music?
Both platforms ask for a square image, commonly 3000 × 3000 pixels in JPG or PNG with sRGB colour. The cover-art preset exports exactly that size.
How does compressing to an exact KB limit work?
The tool binary-searches the JPEG or WebP quality value until the file is as large as possible while staying under your limit. If the limit is unreachable at full size it also reduces the pixel dimensions.
Does converting remove EXIF and GPS data?
Yes. Images are redrawn on a canvas and re-encoded, so camera, location and ICC metadata are not carried over.
Why does my video not load?
Your browser must support the codec. MP4 (H.264) and WebM work almost everywhere; some MOV or HEVC files need Safari or a hardware-enabled browser.
Why is the GIF colour quality limited?
GIF supports 256 colours. The built-in encoder uses a fixed 3-3-2 palette for speed and privacy; keep clips short and use moderate widths for the best size-to-quality balance.