Image Resize
Custom dimensions or one-tap social presets. Output as PNG, JPG, or WebP — no upload.
What this tool does
Resize any image to exact pixel dimensions, in your browser. Drop a PNG, JPG, WebP, or GIF, then either type custom width and height or tap a social preset — Instagram square, Instagram story, Instagram reel, Facebook cover, X / Twitter post and header, LinkedIn banner, YouTube thumbnail, TikTok, Pinterest, Open Graph card, and more. Three fit modes: contain letterboxes the source inside the target with white padding, cover centre-crops to fill the target, and stretch ignores aspect ratio. Export as PNG (lossless, alpha kept), JPG (smaller, no alpha), or WebP (smallest, alpha kept). The image is decoded and resized through the canvas API — nothing uploads.
How to use it
- Drop your image — Drag a PNG, JPG, WebP, or GIF in, or click to pick. The original dimensions appear under the preview.
- Pick dimensions — Type custom values, or hit a social preset like Instagram square 1080×1080 or YouTube thumbnail 1280×720. The aspect-ratio toggle keeps width and height in sync.
- Choose fit and format — Cover crops to fill, contain letterboxes, stretch ignores aspect. PNG keeps alpha; JPG is smaller; WebP gets you both.
- Hit Resize — Preview shows the result. Click Download to save at the exact pixel size you set.
How the resize works
We decode the source into an HTMLImageElement, then draw it onto an off-screen canvas with imageSmoothingQuality = 'high'. Contain uses min(targetW/srcW, targetH/srcH) for the scale and centres the result. Cover uses max(targetW/srcW, targetH/srcH) and centres so the image fills the canvas with overflow cropped. Stretch uses the target as-is. The canvas is exported with toBlob() using the chosen MIME type and quality. The browser's high-quality bilinear / Lanczos pipeline is fine for typical social and web work; for very large downscales (more than 4×) chained downscales would produce sharper results, but quality is already excellent for one-step social-size jobs.
Picking the right preset
Squares (1080×1080) are safe across feeds — they crop nicely on every platform. Vertical 1080×1920 covers stories, reels, Shorts, and TikTok in one go. 1200×630 is the universal Open Graph and Twitter Card size that link previews on Slack, Facebook, LinkedIn, Discord, iMessage, and most other unfurlers expect. Use 1200×675 for X / Twitter posts, 1500×500 for X headers, 1584×396 for LinkedIn personal banners, 1280×720 for YouTube thumbnails, and 1000×1500 for tall Pinterest pins.
EN
PT
ES