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.