What it does
Instantly resizes and crops an image to match the exact dimensions required by popular social media platforms — Instagram posts and stories, Facebook covers, Twitter/X posts, LinkedIn banners, YouTube thumbnails, and more. Everything happens in your browser using the HTML5 Canvas API: your image is never uploaded anywhere.
Unlike a simple auto-crop, this tool shows an interactive preview where you can drag the image to reposition it and use a zoom slider to fine-tune exactly which part of the picture ends up in the final crop, before exporting.
Try it
How it works
- You pick an image file — it's loaded locally into an
<img>element usingURL.createObjectURL(); the file never leaves your device. - When Fit mode = Cover, an interactive editor appears: a preview frame at the target format's aspect ratio, with your image drawn inside it, scaled just large enough to always fully cover the frame.
- Drag the image with your mouse (or finger, on touch devices) to pan it and choose exactly which part is kept.
- Use the Zoom slider to scale the image up further, letting you crop in tighter on a specific detail.
- Reset position re-centers the image and resets the zoom.
- When you click Convert, a
<canvas>is created at the exact target pixel dimensions, and the same pan/zoom transform you set up in the editor is reproduced at full resolution — so what you see in the editor is exactly what you get, at the target size. - Contain and Stretch modes don't need manual positioning (the whole image is always kept), so the editor is hidden for those modes.
- The canvas is exported with
canvas.toBlob()in your chosen format (PNG, JPEG, or WebP) and quality, and offered as a downloadable file via an object URL.
Supported formats
| Platform | Format | Dimensions |
|---|---|---|
| Square post | 1080×1080 | |
| Portrait post | 1080×1350 | |
| Landscape post | 1080×566 | |
| Story / Reel | 1080×1920 | |
| Shared link | 1200×630 | |
| Cover photo | 820×312 | |
| Twitter / X | Post | 1600×900 |
| Twitter / X | Header | 1500×500 |
| Post | 1200×627 | |
| Banner | 1584×396 | |
| YouTube | Thumbnail | 1280×720 |
| YouTube | Channel art | 2560×1440 |
| TikTok | Video cover | 1080×1920 |
| Pin | 1000×1500 |
Notes
- Nothing is uploaded: the entire pan/zoom/crop/export pipeline runs locally in your browser via the Canvas API.
- PNG output is lossless but larger; JPEG/WebP let you tune quality vs. file size with the quality slider.
- Switching the target format or custom size resets the crop position and zoom, since the frame's aspect ratio changes.
- For best results, choose a source image with a resolution equal to or larger than the target format to avoid visible upscaling when you zoom in.