AnyTool
Your files never leave your device. All processing happens locally in your browser.

How do I resize an image to the exact size a social platform needs?

Upload your image, pick the platform and the exact 2026 target size — e.g. Instagram square 1080×1080, story 1080×1920 or profile 320×320; YouTube banner 2560×1440; WhatsApp DP 640×640; X header 1500×500; LinkedIn banner 1584×396; Pinterest pin 1000×1500; TikTok / Snapchat 1080×1920; Etsy or Amazon listing 2000×2000 — or type a custom width and height. Choose a fit mode: cover (fill the frame and crop the overflow with no distortion, with a nudge to keep the important part in view), contain (fit the whole image and pad the rest with a colour or transparent background), or stretch (force the exact size). The tool composites everything on a canvas and downscales with pica’s Lanczos / mks2013 filter for crisp, un-pixelated results, then exports a PNG, JPEG or WebP at exactly the target pixels with a live file-size read-out. Everything runs in your browser — nothing is uploaded.

  • One-tap presets for Instagram, WhatsApp, YouTube, Facebook, X, LinkedIn, Pinterest, TikTok, Snapchat, Discord, Telegram, Reddit, Etsy and Amazon — plus custom W×H
  • Fit modes: cover (crop-to-fill with a position nudge), contain (fit + coloured or transparent padding), or stretch
  • High-quality downscale via pica (Lanczos / mks2013) — sharper than the browser’s default scaling
  • Exports PNG, JPEG or WebP at EXACTLY the target size, with a quality slider for JPG/WebP and a live file-size read-out
  • 100% client-side — your image is decoded to a local object URL and never leaves the browser

What is

Social Media Image Resizer

A social media image resizer is a tool that crops and scales an image to the exact pixel dimensions a given platform recommends — a post, story, profile picture, banner, thumbnail or product-listing size. This one is 100% client-side: it loads your image into a browser canvas, crops it to the chosen fit mode (cover, contain or stretch), downscales it with pica’s Lanczos / mks2013 filter for a clean result, and exports a PNG, JPEG or WebP at exactly the target size. It ships current 2026 size presets for 14 platforms and a custom size option, and it never uploads your file. Enlarging a small image cannot add real detail, and platform specs can change without notice, so the presets are current best estimates.

Social Media

Related terms

image resizercrop imageprofile picture sizeInstagram sizeYouTube banner sizeaspect ratiocover vs containpicacanvas resizePNG JPEG WebPdownscalephoto dimensions

Frequently Asked Questions

No. The image is decoded and resized entirely in your browser on a local canvas — there is no upload, server or database in the path, and object URLs are revoked when you reset.

Nothing is uploaded. When you choose a file the tool creates a local object URL, decodes the image, crops and composites it on an in-page <canvas>, and downscales it with pica — all on your device. There is no server, API, database or tracking anywhere in the processing path, so your photo never leaves the browser. Object URLs are revoked when you reset or replace the image, the tool works offline once cached, and closing the tab discards everything. The only optional network use anywhere on the site is consent-gated advertising, which never sees your image.

Cover fills the frame and crops the overflow with no distortion; contain fits the whole image and pads the rest with a background; stretch forces the exact size and may distort the aspect ratio.

These are three ways to fit a source image into a target that may have a different aspect ratio. COVER scales the image to fill the whole frame and crops whatever spills over, so there are no gaps and no distortion — this tool adds a position nudge so you can keep a face or subject in view on the cropped axis; it is the right choice for most posts and profile pictures. CONTAIN scales the whole image to fit inside the frame and pads the empty area with a colour or transparent background, so nothing is cropped — useful for logos or product shots that must show in full (and for Amazon-style pure-white backgrounds). STRETCH ignores the aspect ratio and forces the image to the exact dimensions, which can squash or stretch it, so use it only when the source already matches the target ratio.

Because the source is smaller than the target, so it is being enlarged — upscaling can’t add real detail. Start from a larger image; pica keeps edges as clean as possible but can’t invent pixels.

Resizing down (a large photo into a smaller frame) stays crisp, and this tool uses pica’s Lanczos / mks2013 filter to avoid the aliasing you get from a naive canvas shrink. Resizing UP is different: if your source is smaller than the target size, the tool has to enlarge it, and no resizer — however good — can add detail that was never captured. The result will look softer than a natively-large image. The tool warns you when a chosen target would enlarge your source. For the sharpest output, start from an image at least as large as the target on both dimensions; for print-like sizes such as Etsy or Amazon 2000×2000, use a high-resolution original.

PNG for graphics, logos or anything needing transparency (lossless); JPEG for photos where a smaller file matters; WebP for the smallest photo files where the platform supports it.

PNG is lossless and keeps transparency, so it is best for logos, text, screenshots and profile graphics — but files are larger. JPEG is a lossy photo format with no transparency; it produces much smaller files and is the safest universal choice for photographic posts, with a quality slider to trade size against sharpness. WebP is also lossy (or lossless) and usually the smallest of the three at a given quality, and every major network accepts it in 2026, though JPEG remains the most universally compatible fallback. This tool exports any of the three at exactly the target pixel size and shows the resulting file size live so you can pick the best trade-off. Note that transparent padding only survives in PNG or WebP — a transparent contain background exports white in JPEG.

Detailed Explanation

How It Works

What the Social Media Image Resizer Does

The Social Media Image Resizer crops and scales any image to the exact pixel size a platform needs, entirely in your browser. Upload a photo, pick a platform and a 2026 target size — a post, story, profile picture, banner, thumbnail or listing — or type a custom width and height, then choose how the image should fit and export a PNG, JPEG or WebP at exactly those pixels. It ships current recommended sizes for 14 platforms (Instagram, WhatsApp, YouTube, Facebook, X, LinkedIn, Pinterest, TikTok, Snapchat, Discord, Telegram, Reddit, Etsy and Amazon) plus a custom option. It is route-aware: each preset page locks a single platform, while the main /social-media-image-resizer page shows a platform picker. Nothing is uploaded — the image is decoded to a local object URL and composited on an in-page canvas.

  • Input: any PNG / JPEG / WebP / GIF image; output: PNG, JPEG or WebP at the exact target size
  • 2026 size presets for 14 platforms plus a custom width × height
  • Route-aware: preset pages lock a platform; the main page shows a picker
  • 100% client-side — the image never leaves the browser
Methodology

How the Resize Works (Canvas + pica, No Upload)

A typed engine (socialResizeEngine.ts) does the geometry, and pica does the pixels. Pure helpers decide which source pixels to keep: coverCropRect() computes the source rectangle that matches the target aspect ratio (honoring a −1..1 crop-position nudge on the cropped axis), and containLayout() computes the fitted size and centred offset for letter/pillar-boxing. The browser orchestrator (renderResized) then crops into an intermediate canvas at source resolution and calls pica.resize() to do a clean, aspect-matched downscale into a canvas of exactly the target dimensions — using pica’s Lanczos / mks2013 filter, which resamples with proper filtering and light sharpening rather than the browser’s default bilinear shrink, avoiding the aliasing and softness a naive drawImage() produces. Finally canvas.toBlob() emits PNG, JPEG or WebP (with a quality factor for the lossy formats). Contain mode fills the padding with a chosen colour or leaves it transparent; stretch resizes the whole source to the target ignoring aspect.

  • coverCropRect() and containLayout() are pure, typed geometry helpers
  • pica.resize() (Lanczos / mks2013) does the high-quality downscale into an exact-size canvas
  • canvas.toBlob() exports PNG (lossless) or JPEG / WebP (quality-controlled)
  • Cover supports a crop-position nudge; contain pads with colour or transparency
Technical Details

Fit Modes and Exact-Pixel Output

The tool always exports at the exact target pixel size; the fit mode decides how the source is mapped into that frame. COVER scales to fill and crops the overflow with no distortion — the default for posts and profile pictures — with a horizontal / vertical nudge so the subject stays in frame on the cropped axis. CONTAIN scales the whole image to fit inside the frame and pads the remainder with a solid colour or transparency, so nothing is cropped (ideal for logos, and for Amazon-style pure-white backgrounds). STRETCH forces the exact dimensions and can distort, so it suits sources that already match the target ratio. Profile / avatar presets are marked as circles: the preview shows the circular crop the platform applies, but the exported file is a full square at the target size. Transparency survives only in PNG and WebP — a transparent contain background exports white in JPEG.

  • Output is always the exact target pixels; fit mode maps the source into that frame
  • Cover crops (with a nudge), contain pads, stretch forces the size
  • Circle presets preview the crop but export a square file
  • Transparent padding is preserved only in PNG / WebP, not JPEG
Use Cases

The 2026 Platform Sizes It Covers

Common current targets include Instagram square 1080×1080, portrait 1080×1350, story / reel 1080×1920 and profile 320×320; WhatsApp DP 640×640; YouTube channel banner 2560×1440 (with a 1546×423 TV-safe centre) and thumbnail 1280×720; Facebook profile 320×320 and cover 851×315; X (Twitter) profile 400×400, header 1500×500 and in-stream post 1600×900; LinkedIn profile 400×400, cover 1584×396 and link post 1200×627; Pinterest pin 1000×1500; TikTok video 1080×1920; Snapchat 1080×1920; Discord avatar up to 1024×1024 and banner 960×540; Telegram 512×512; Reddit avatar 256×256 and banner 1920×384; Etsy listing 2000×2000; and Amazon product image 2000×2000 on a pure-white background. Any custom width and height is also supported, so the tool works for sizes not in the presets.

  • Instagram 1080×1080 / 1080×1350 / 1080×1920; profile 320×320
  • YouTube banner 2560×1440 (TV-safe 1546×423); thumbnail 1280×720
  • X header 1500×500; LinkedIn banner 1584×396; Pinterest pin 1000×1500
  • Etsy / Amazon listings 2000×2000 (Amazon on white); custom W×H supported
Limitations

Honest Limitations

Two honest caveats. First, platforms change their recommended sizes and safe areas without notice, so the presets here are current 2026 best estimates — confirm anything mission-critical against the platform’s own guidance. Second, enlarging a small image cannot add real detail: if your source is smaller than the target, the tool must upscale and the result will look softer than a natively-large image, so the tool warns you when a target would enlarge your source and recommends starting from a bigger original. Beyond that, cover crops content by design, stretch can distort, and marketplace rules (like Amazon’s pure-white background or a minimum resolution to enable zoom) must be satisfied in your source — the resizer can pad to white via contain but cannot remove a background. It also does not compress aggressively or strip metadata beyond what canvas re-encoding naturally discards.

  • Platform specs change without notice — presets are current best estimates
  • Upscaling can’t invent detail; the tool warns when a target enlarges the source
  • Cover crops and stretch can distort — pick the fit mode deliberately
  • Marketplace background / resolution rules must be met in the source image
Privacy & Security

Privacy: Everything Stays in Your Browser

The resizer is structurally private. Your image is decoded into a local object URL, cropped and composited on an in-page <canvas>, downscaled by pica and re-encoded with canvas.toBlob() — all on your device, with no server, upload, database, logging, API or CDN anywhere in the processing path. Object URLs for both the source and the result are revoked when you reset or replace the image, so nothing lingers, and the tool works offline once cached. Closing the tab discards everything. The only optional network use anywhere on the site is consent-gated advertising, which never sees your image or its contents.

  • Decoded, cropped, resized and encoded entirely in the browser
  • No server, upload, database, API or CDN in the processing path
  • Object URLs are revoked on reset / replace; works offline once cached
  • Only optional network use is consent-gated ads, which never see your image
Common 2026 target sizes by platform (current best estimates)
PlatformKey sizes (px)Notes
InstagramPost 1080×1080 · Portrait 1080×1350 · Story 1080×1920 · Profile 320×320Profile is cropped to a circle
YouTubeBanner 2560×1440 · Thumbnail 1280×720Keep text inside the 1546×423 TV-safe area
X (Twitter)Profile 400×400 · Header 1500×500 · Post 1600×900Header ratio is 3:1
LinkedInProfile 400×400 · Cover 1584×396 · Post 1200×627Cover ratio is 4:1
WhatsApp / TikTok / SnapchatDP 640×640 · Vertical 1080×1920Vertical is 9:16
Etsy / AmazonListing 2000×2000Amazon requires a pure-white background

Sizes reflect each platform’s 2026 recommendations and can change without notice; the tool always exports at the exact size you select and supports any custom width × height.