Crop Image to Square - Free Online Square Crop Tool

Crop any photo to a perfect 1:1 square in seconds - free, no signup, nothing uploaded. Great for profile pics, product images, and social posts.

Get a perfect square crop in seconds - no signup needed

Drop in any photo and this tool trims it to an exact 1:1 square ratio instantly - right in your browser. It's the fastest way to prep a profile picture, product photo, or social post without opening Photoshop or Canva.

Everything runs locally on your device. Nothing is uploaded to a server, so your photos stay completely private.

How to crop image to square

  1. Upload your image - click the upload area or drag and drop a JPG, PNG, or WebP file.
  2. Select the 1:1 ratio - the tool locks the crop box to a perfect square automatically.
  3. Drag the crop box over the part of the image you want to keep.
  4. Resize the box if needed by pulling its corners - it stays square no matter how you drag.
  5. Click Download - save your cropped square image as PNG, JPG, or WebP.

The whole process takes under 30 seconds. No account, no watermark, no cost.

Worked example: turning a landscape photo into a square

Suppose you have a vacation photo that is 1920 × 1080 pixels (wide, 16:9 landscape). You want a square version to use as your Instagram profile picture.

  • Input: 1920 × 1080 px landscape photo (anyone.jpg, 1.4 MB)
  • Step: Upload the file, select 1:1, center the box on the subject's face, download.
  • Output: 1080 × 1080 px square image (anyone_square.jpg) - exactly what Instagram and most social platforms want.

The tool keeps the full original resolution within the crop area - so you get a sharp, high-quality square, not a blurry stretched one.

Common square image sizes by platform

Platform / UseRecommended square sizeNotes
Instagram post1080 × 1080 pxStandard square post
Profile picture (most platforms)400 × 400 px or largerDisplayed in circle, but stored square
Facebook post1200 × 1200 pxRenders well on all devices
Product photo (e-commerce)800 × 800 px minimumAmazon, Etsy, Shopify all prefer square
App icon1024 × 1024 pxApple and Google both require square source

How to crop an image to square in Python

If you need to automate square cropping - say, resizing a whole folder of product photos - the Pillow library handles it in a few lines.

# Python 3 - requires: pip install Pillow
from PIL import Image

def crop_to_square(input_path, output_path):
    img = Image.open(input_path)
    width, height = img.size
    side = min(width, height)          # use the shorter dimension
    left = (width - side) // 2
    top = (height - side) // 2
    img_cropped = img.crop((left, top, left + side, top + side))
    img_cropped.save(output_path)

crop_to_square('photo.jpg', 'photo_square.jpg')

This centres the crop on the image - the same default behaviour as the tool above. Adjust left and top to shift the focus.

How to crop an image to square in JavaScript

In a browser or Node.js project you can draw the crop onto an HTML <canvas> element.

// Runs in any modern browser
function cropToSquare(img) {
  const side = Math.min(img.naturalWidth, img.naturalHeight);
  const canvas = document.createElement('canvas');
  canvas.width = side;
  canvas.height = side;
  const ctx = canvas.getContext('2d');
  const offsetX = (img.naturalWidth - side) / 2;
  const offsetY = (img.naturalHeight - side) / 2;
  // drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh)
  ctx.drawImage(img, offsetX, offsetY, side, side, 0, 0, side, side);
  return canvas.toDataURL('image/jpeg', 0.9); // or 'image/png'
}

Call cropToSquare(imgElement) where imgElement is an <img> node with the photo loaded. The function returns a data URL you can assign to another image or send to a download link.

How the tool works

When you drop an image, the tool reads it with the browser's File API and renders it on a hidden <canvas> element - no data ever leaves your machine. You drag a locked 1:1 crop region over the preview; once you click Download, the canvas exports only the selected pixels as a new image file.

The output resolution matches the pixel dimensions of the area you selected - so cropping the center 1080 × 1080 pixels from a 4K image gives you a full-resolution 1080 × 1080 output, not an upscaled or downscaled copy. For the technical details on how browsers handle image data, see MDN's Canvas API documentation.

When to use this tool (and when not to)

Good fits

  • Profile pictures - Twitter, LinkedIn, Facebook, and most platforms expect a square image even if they display it as a circle.
  • Product images - e-commerce platforms like Amazon and Etsy require square product photos.
  • Social media posts - Instagram grid posts and Facebook square posts look best at 1:1.
  • App icons - both Apple App Store and Google Play need a square source icon.
  • Avatars - quickly trim and center a face before uploading to any platform.

When another approach works better

  • You need a non-square ratio - use the 16:9 or 4:3 option in the same tool for YouTube thumbnails or presentation slides.
  • You need to resize (not just crop) - cropping keeps pixels; resizing scales them. Use a dedicated image resizer if you need a specific output pixel count.
  • Batch processing hundreds of files - the Python snippet above or a CLI tool like ImageMagick (convert input.jpg -gravity center -extent 1:1 output.jpg) will be faster than uploading one at a time.
  • You need background fill instead of a crop - if the subject is tall and thin and you don't want to cut anything off, an 'add white padding' approach is better than cropping.

Quick tip: Drop your image above, pick the 1:1 square setting, drag the box to the best spot, and download - your square-ready image is ready in under a minute.

Frequently asked questions

Is my image uploaded to a server when I use this tool?+
No. The entire crop happens inside your browser using the Canvas API. Your photo never leaves your device, so there's no privacy risk even with sensitive or personal images.
Does cropping to a square reduce the image quality?+
Cropping itself doesn't reduce quality - it just removes the pixels outside the selected area. The pixels that remain are untouched. If you save as JPG you can pick a quality level; saving as PNG gives you lossless output.
What's the difference between cropping to a square and resizing to a square?+
Cropping removes the edges so the remaining area is square - nothing is stretched. Resizing (also called scaling) squashes or stretches the whole image to fit a square shape, which distorts it. For profile pictures and product photos, cropping is almost always the right choice.
Can I crop to a circle instead of a square?+
Yes - select the 'circle' option in the tool. It applies a circular mask and exports the result as a PNG with a transparent background around the circle. This is popular for avatars and profile photos.
What file formats does the tool accept and output?+
You can upload JPG, PNG, and WebP files up to 20 MB. You can download the result as JPG, PNG, or WebP - just pick the format before clicking Download.
How do I crop an image to a square in Python without using a library?+
You really do need at least one library for image manipulation in Python. Pillow is the standard choice and is a one-line install: pip install Pillow. The full snippet is on this page under 'How to crop an image to square in Python'.
The crop box isn't locking to a square - how do I fix it?+
Make sure the aspect ratio is set to 1:1 in the tool's ratio selector. If you accidentally switched to 'free', the box can be any shape. Click 1:1 to re-lock it to a perfect square.
Is this tool free? Do I need to create an account?+
Completely free, no account needed. There's no watermark on the downloaded image either - what you see in the preview is exactly what you get in the file.