Presets, custom sizes and the three fit modes
The preset list covers the sizes people ask for most: Instagram square at 1080x1080, Instagram portrait at 1080x1350, Story and Reel at 1080x1920, YouTube thumbnail at 1280x720, X header at 1500x500, Facebook cover at 820x312 and a 512x512 avatar. Choosing Custom unlocks the width and height fields so you can type any size down to a single pixel. Whatever you pick, the preview canvas is redrawn at the exact target dimensions, so the preview is the real output, not an approximation.
The Mode dropdown decides what happens when the photo's shape does not match the target. Crop to fill scales the image until it covers the whole frame and trims whatever hangs over, centred. Fit and pad scales it until it fits entirely inside and leaves bars on two sides. Stretch ignores the aspect ratio and pulls the picture to the frame, which distorts faces and text and is only useful for abstract backgrounds or textures.
What the padding looks like
The colour of the bars in Fit and pad mode depends on the output format. With JPEG the canvas is filled white before the image is drawn, because JPEG has no transparency. With PNG or WebP the padding stays transparent, so the file can sit on any background later. That makes PNG the right choice when you are padding a logo for an avatar and JPEG the right choice when you are padding a photo for a white website.
A quick example: a 4000x3000 landscape photo sent to the 1080x1920 Story preset in Crop to fill mode is scaled to 2560x1920 and then the outer 740 pixels on each side are discarded, leaving the middle of the scene. In Fit and pad mode the same photo becomes 1080x810 in the centre of a 1080x1920 frame with 555 pixel bars above and below. Neither is wrong; it depends whether you would rather lose the edges or show them small.
Quality, upscaling and file size
Scaling is done by the browser's canvas with its built-in resampling. Downscaling a large photo to social size looks clean. Upscaling is allowed, but a 640x480 snapshot pushed to 1920 pixels will simply look soft; the tool does not invent detail. Export quality for JPEG and WebP is fixed at 92, which is deliberately high because these images are usually re-compressed once more by the platform you post them to. Typical results: a 1080x1080 Instagram square from a phone photo lands around 250 to 450 KB as JPEG and 150 to 300 KB as WebP; a 1280x720 thumbnail is usually 150 to 300 KB as JPEG. If you need smaller files, run the result through compress with a lower quality.
What is dropped and what to keep in mind
The export is a fresh canvas image, so EXIF data including GPS location, the camera model and the colour profile are not written to the output. For a social upload that is normally welcome. The downloaded file is named after the original with the pixel size appended, for example holiday-1080x1350.jpg, which keeps different crops from overwriting each other.
The page takes one photo at a time and uses the browser's decoder, so JPG, PNG, WebP, GIF (first frame) and BMP load directly, while HEIC from an iPhone must go through the HEIC to JPG converter first. There is no manual positioning of the crop window; it is always centred. When the subject is off-centre, trim the photo on the crop tool first and then resize. Platform sizes change from time to time; the social media image sizes guide lists the current recommendations behind the presets.