Photo limits

Meet the photo limits a form or a portal sets

The number on the spec sheet came from somewhere else. This tool answers four parts of a spec sheet: the bytes, the dimensions, the format and the metadata.

Where a photo limit comes from

A photo limit is a number somebody else set, for a reason you were not told. The spec sheets it arrives on come in a few families: an upload form or portal, an email or messaging attachment rule, an application or identity photo, and a marketplace or job listing. Each one writes its own rules, and a spec sheet can carry more than a size: pixels, a format, a background, a margin, a file name pattern.

This page does not quote any of those limits. Anything here about somebody else’s rules would have to be checked against the place that publishes them and kept true by rechecking, and a stale figure is worse for you than no figure. What follows is the method: how to read a limit you have been given, and what this tool can and cannot do about it.

Read the number before you type it

The target size field on this site takes kibibytes, and one kibibyte is 1024 bytes. A limit written as “KB” in decimal is a different number of bytes, so the two are not the same figure wearing two names.

The whole difference is arithmetic from two constants, 1024 bytes to a kibibyte and 1000 bytes to a decimal kilobyte. Write the limit in bytes, divide by 1024 and round down: that is the number the field wants, and the conversion table on the target size page carries the usual limits.

Reading it the other way is the same arithmetic with the numbers swapped. A target of 100 is 102,400 bytes, which is more than a decimal 100 KB allows, so a file at exactly that ceiling can still be rejected. Round the target down rather than up and the file stays under the limit the form gave you.

A megabyte on a spec sheet is not always decimal either. If the sheet defines its MB in 1024-byte units, then a 1 MB limit is 1024 KiB, which is 1,048,576 bytes, and you type 1024. The unit is the sheet’s to define, so read the definition it gives, or convert the number to bytes yourself and divide. When a sheet gives a number and no unit at all, the ambiguity is the sheet’s, not the tool’s: the finished row reports the file’s size in KiB, the unit the field takes, so a limit written in 1024-byte units can be read straight off it, and a decimal one you check with the conversion table on the target size page.

What this tool can do about a limit

Four things on a spec sheet are this tool’s to answer, and each has one control.

Bytes. The target size field takes a number of kibibytes and treats it as a ceiling, not a size to aim at. The tool encodes at your quality setting first and then searches quality for a file at or under your number, downward from your setting when the first encode is over it and upward when the first encode comes out far under it. It never reports a target it missed as reached, so the row’s verdict is the authority on whether your file fits.

Dimensions. Resizing is off by default. A width in pixels gives an output that many pixels wide, keeping the picture’s proportions, and a percentage scales both sides at once. The percentage field stops at 100, so it cannot enlarge a picture. The EXIF orientation of a photo is applied to the pixels before the resize, so a rotated picture comes out upright, and the four orientations that include a quarter turn swap width and height with it.

Format. The tool reads JPEG, PNG, WebP and AVIF and writes those same four, and nothing else in either direction. If a spec sheet asks for a format outside that set, this tool cannot produce it, and no quality setting or resize will change that.

Metadata. Outputs carry no EXIF by default, which matters more for an identity photo than for most other pictures. Keeping the block is a control you have to switch on, and an AVIF output cannot carry it at all.

What it cannot do

This is the list to read before you spend an attempt.

There is no cropping and no reframing. The resize scales the whole picture and keeps its proportions, so nothing is cut off and no head is moved inside a box, because no box is set anywhere. There is no background color to set and no white margin to add, so a rule about a plain light background has to be met with a picture that already has one. There is no file name pattern and no naming convention, because the download takes the name you chose with the output format’s extension. There is no printing resolution in dots per inch: this tool works in pixels and bytes, and a print shop’s resolution requirement is a different number from anything here. And there is no face rule of any kind: no head size, no eye position, no expression, no framing, and no way to check any of those afterwards.

None of that is a setting you have missed. It is the boundary of what the tool does.

When the byte limit and the pixel limit disagree

A sheet that wants both a maximum file size and exact pixel dimensions can ask for a combination no setting reaches. Set the width and the target together: the tool resizes first and then searches quality for the resized file. If the row reports a miss with metadata off and a JPEG, WebP or AVIF output, those pixels cost more than the byte limit allows even at quality 1. A smaller width would fit the bytes but not the sheet’s dimensions, so that combination cannot be met with this tool.

Pixels are where the leverage is: halving the width quarters the pixels and the size falls with them. Quality lowers the cost of each pixel but never removes one. So when a limit is tight enough that quality alone cannot meet it, fewer pixels is what is left, and the resize page is the tool that does it.

Work in that order, then compare the two previews the row shows you before you keep the result. If the ceiling still will not hold, the row will say so, and that verdict is taken on the bytes you actually download.

If the row says the target was missed

Three causes produce that verdict, and each one has its own answer: a picture still over the ceiling at quality 1, a kept EXIF block written after the search, and a PNG output, which is lossless and gets no quality step at all. The target size page sets out what each cause is and what fixes it.

Why do this in your browser at all

An identity photo, a passport picture and a document scan are exactly the files a reader should not want leaving their machine, and that is the whole promise this site is built on. Your file is read in your browser, no page of this site sends it to us or to anyone else, and every request a page makes goes to this site itself as a GET or a HEAD with no body. The security page shows the evidence behind that, including the policy that stops a page reaching another address even if it tried.

Next

The tool itself is on the home page, where a run starts. For the ceiling on its own, the target size page covers the search in full. For the dimensions on their own, the resize page covers the width and percentage rules, and the JPEG page covers what quality does to a picture when you would rather not set a number at all.

Try it on the picture a form is asking for

The tool is on the home page. Set a target or a width, read what the row reports, and check the result against the form's own rules before you send anything.

Compress an image