Private · in this tab

Resize photos for Instagram, YouTube & X — free, private, no upload

Exact pixels or social presets. Fill, Fit or Stretch. Batch download a ZIP. Files never leave the device. Canvas resample — not AI upscale.

Drop images on the frame

JPG, PNG, WebP, BMP, GIF. HEIC is rejected — convert in HEIC Local first.

Preview

target 1080×1080

Fill crops the overflow to cover the frame. Canvas resample — not lossless JPEG, not AI upscale.

Target

×

Max edge 8192. Lock keeps the current ratio.

Aspect

Mode
Output

How it works

Four steps. No upload.

  1. 01

    Choose

    Drop JPG, PNG, WebP, BMP or GIF. They stay in this tab.

  2. 02

    Pick size

    A social preset or exact width × height. Lock aspect if you need it.

  3. 03

    Resize

    Fill, Fit or Stretch. Canvas resample on this device.

  4. 04

    Download

    One file or a ZIP. Named {stem}-{W}x{H}.

Full walkthrough: how to resize images without uploading. Size table: Instagram, YouTube, X presets.

A resizer that stays on the device

Most “free image resizer” pages ask you to upload a photo, wait on a spinner, then download a file that has already crossed a data center. Fit does not do that. You choose JPG, PNG, WebP, BMP or GIF files on this computer or phone. The browser decodes them with createImageBitmap, draws them onto a Canvas at the size you asked for, and encodes a new blob. Download is a local save. The ZIP, if you asked for one, is packed with JSZip in the same tab. There is no conversion API hiding behind the button.

That matters for two kinds of people. First: anyone who should not send a face, a document scan, a product unboxing, or a child’s photo to a random converter. Second: anyone who is tired of daily limits, watermarks, and “create an account to download.” Fit has none of those. The only limit is the memory of the device you already have.

Exact pixels beat “make it smaller”

Compressors shrink bytes. Converters change codecs. Fit’s job is geometry. Instagram’s feed still expects a 1080×1080 square. A Story or Reel is 1080×1920. A YouTube thumbnail is 1280×720. An X (Twitter) post image that fills the timeline well is 1600×900; a profile header is 1500×500. LinkedIn and Facebook link cards sit around 1200×627 and 1200×630. Pinterest still likes a tall 1000×1500 pin. You can type any custom width and height up to 8192 on the long edge. The output filename includes those numbers so you can see what you actually exported.

If you only needed a smaller file and the pixel count already matches the platform, use Crush. If you needed WebP or AVIF, use Shift. If you needed GPS gone, use Strip. Fit is the one you open when the platform rejected the upload for the wrong dimensions, or when a client brief says “exactly 1920 by 1080.”

Fill, Fit, Stretch — pick the crop, not a surprise

A 2000×1000 landscape dropped into a 1080×1080 Instagram square cannot keep every pixel. Fill (the default) covers the frame and center-crops the overflow. That is the same idea as CSS background-size: cover. Fit contains the whole photo and pads the leftover with black or white. Stretch distorts. The live preview shows a checkerboard, a rule-of-thirds overlay, and an Upscaled badge if you asked for more pixels than the source has. Enlarging interpolates. Fit will still give you the number you typed; it will not pretend those new pixels came from a camera.

Quality 0.92 is the default for JPG and WebP. PNG is lossless from the canvas. HEIC from iPhone is rejected on purpose — convert it first in HEIC Local, then come back. iOS Safari is a supported path: Choose files, resize, Download. Read the step-by-step guide, the preset table, and the mode comparison if you want the long version before you drop a batch.

Fit is a free tool from Ultimatum. There is no signup. Ads, when the site is approved, sit after success, in the mid band, and in the footer — never on top of Choose, Resize, or Download. Questions: contact.

Three jobs that are not the same preset table: Instagram frames (feed / story / reel cover — their encoder still runs), YouTube thumbnails (a 1280×720 still, not the video file), and avatar crop (the platform paints a circle on your square). Paper size × DPI is a different job — from paper size to pixels.

FAQ

Straight answers

What is the difference between Fill, Fit, and Stretch?+

Fill (default) covers the target frame and center-crops overflow — the same idea as CSS background-size: cover. Fit contains the whole photo and pads leftover space with black or white. Stretch distorts the image to the exact width and height. For Instagram feed squares, Fill is usually what you want. For a full product shot that must not be cropped, use Fit. Stretch is for banners where you already accept distortion or the source already matches the ratio.

Does Fit upload my photos to a server?+

No. Choose, decode (createImageBitmap), resize (Canvas 2D), encode (toBlob), and zip (JSZip) all happen in this browser tab. There is no conversion API and no storage bucket. Hosting logs may record that you loaded the page; they do not receive the image bytes.

What Instagram, YouTube, and X sizes are built in?+

IG Post 1080×1080, IG Portrait 1080×1350, IG Story/Reel 1080×1920, YouTube Thumb 1280×720, X Post 1600×900, X Header 1500×500, plus TikTok 1080×1920, LinkedIn 1200×627, Facebook 1200×630, and Pinterest 1000×1500. Custom width × height is always available. The longest edge is capped at 8192 pixels so a phone tab does not run out of memory.

Can I resize HEIC photos from iPhone?+

Not in this tab. HEIC is rejected on purpose. Convert to JPG or PNG first at HEIC Local (heic-local.vercel.app), then drop the result here. Keeping Fit a pure Canvas resizer avoids a heavy decoder and keeps the job of this tool honest: exact pixels, not format conversion.

Does Download ZIP upload my photos?+

No. The ZIP is built in the browser from Canvas blobs already in memory. The archive is named fit-{n}-images.zip. Each file inside is named {stem}-{width}x{height}.{ext}. Nothing is posted to a server to assemble the archive.

What does Quality do? Is JPEG lossless?+

Quality 0.70–1.00 (default 0.92) applies only to JPG and WebP. PNG is lossless pixels-from-canvas. The resize itself is still a Canvas resample — not a lossless JPEG transcode and not an AI upscaler. Enlarging a photo shows an Upscaled badge because new pixels are interpolated.

Do I need an account?+

No. There is no signup, login, or email wall before download. There is no watermark and no daily quota. The only cap is your device: very large files or hundreds of 4K frames may fail because the tab ran out of RAM, not because of an artificial product limit.

Will upscaling make a small photo look sharp?+

No. Enlarging interpolates. Fit still writes the exact target size you asked for, and it labels the result Upscaled so that limitation is visible. For a smaller social frame, prefer Fill or Fit downward from a larger original.

Which file types can I drop?+

JPG, JPEG, PNG, WebP, BMP, and static GIF. Animated GIF is treated as a still (first frame the browser gives Canvas). HEIC/HEIF is rejected with a pointer to HEIC Local. PDF is not an image — use Folio if you need pages, not Fit.

Does Fit strip EXIF or GPS?+

Canvas re-encode typically drops most EXIF because the output is a new bitmap, not a patched JPEG. That is a side effect, not a forensic wipe. If your job is “remove GPS and camera tags and keep the original pixels,” use Strip. If your job is “hit 1080×1080,” use Fit.

How is Fit different from Crush, Shift, or Strip?+

Crush compresses bytes (quality / max edge). Shift changes codec (WebP / AVIF). Strip removes metadata. Fit changes geometry: exact width × height or a social preset, with Fill / Fit / Stretch. Use them in sequence if you need more than one job — they do not replace each other.

Does it work on iPhone and iPad?+

Yes. iOS Safari is a supported path. Use Choose files, pick photos from the library, then Download. If the share sheet is available, you can hand the blob to Files or another app. Very large panoramas may need a lower target size on older phones.

Why is my output slightly softer than the original?+

Resampling is not a lossless crop of JPEG MCU blocks. Fit draws into a Canvas and encodes again. Downscaling is usually fine at quality 0.92. If you only needed to crop without changing pixel count, a dedicated cropper would preserve more of the original encode. Fit’s contract is the target frame, not bit-identical bytes.

Who made Fit and how do I contact you?+

Fit is a free browser tool from Ultimatum, a brand-marketing studio. For the resizer itself, open the Contact page and email ultaultimatum@gmail.com. Do not email photos you need resized — run them in this tab instead. We do not offer recovery of files that never left your device, because we never received them.

Built by Ultimatum — $10k websites, brand systems, and private browser tools. See the studio. This is not an ad.