Cropped image resolution
A 20% crop on a 6000 × 4000 photo leaves 4800 × 3200 pixels, so 24 MP drop to 15.36 MP: enter the size and a percentage or a ratio and check the remaining resolution before you crop. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Width
- 6,000
- Height
- 4,000
- Calculation mode
- Percent
- Crop percent
- 20
- Cropped width
- 4,800
- Cropped height
- 3,200
- Original pixels
- 24,000,000
- Cropped pixels
- 15,360,000
Photographers, editors, and automation pipelines often need to know how many pixels survive a planned crop before they open the file. A twenty percent edge trim on a 6000 by 4000 frame is not the same as locking a 16:9 social crop, and both change export megapixels, print size at a target DPI, and whether a client brief still holds. This cropped image resolution calculator accepts the original width and height in pixels, a mode of percent or aspect, and the matching crop parameters, then returns integer remaining dimensions, original and remaining megapixels, pixels removed, and the area remaining ratio.
Percent crop versus aspect-ratio region
A uniform percent crop removes the same fraction from both linear dimensions. For a 6000 by 4000 landscape and a 16:9 target, the frame is wider than 16:9 relative to its height, so height stays 4000 and width becomes floor of 4000 times sixteen over nine, which is 7111 would exceed the source, so the solver instead finds the correct limiting side and reports the largest legal box. Square one-to-one crops, four-by-five print ratios, and nine-by-sixteen verticals all use the same largest-inscribed rule.
Megapixels are always total pixels divided by one million on both the original and cropped counts, so you can compare export weight and soft-proof print size without opening a raw converter. The calculator never invents fractional display pixels in the final width and height fields: both are integers floored from the continuous geometry so they match how editors allocate raster samples.
Where remaining crop resolution matters in practice
Social and marketplace briefs often demand a fixed aspect and a minimum long-edge pixel count. Checking the remaining resolution before you batch-crop a catalog avoids discovering too late that a tight 4:5 crop dropped a product set below the listing minimum. Print labs quote size at a target DPI; converting remaining megapixels and the cropped long edge into expected print inches is a one-line follow-on once this calculator returns integer dimensions.
Wedding and event culling tools can show clients how aggressive a proposed crop is in megapixels removed without opening every raw. Failed validation is free.
What you can do with it
Social aspect preflight
Before batch-exporting to 16:9 or 9:16, compute remaining width, height, and megapixels from each original frame size so posts still meet platform minima.
Print size planning
Convert a planned percent or ratio crop into integer pixel edges and megapixels, then map the long edge to inches at your target DPI for lab orders.
Catalog and CMS automation
Let pipelines reject SKUs whose aspect crop would fall below a stored pixel threshold without opening or rewriting the binary image.
FAQ
Are cropped width and height integers?
Yes. Both modes floor continuous geometry to whole pixels and reject results that would leave less than one pixel on either side.
Does this tool crop or download my photo?
No. It only computes remaining dimensions and megapixels from the numbers you provide.
How many megapixels are left after a 20% crop?
On a 6000 × 4000 photo, a 20% crop keeps 4800 × 3200 pixels, so 24 MP become 15.36 MP. The percentage is taken from width and height at once, which is why the loss in area is larger.
How does a 16:9 aspect-ratio crop work?
The calculator keeps the largest rectangle with that ratio that fits inside the photo, aligned with its edges. Square, four-by-five print and 9:16 vertical crops follow the same rule.
Why does a 20% crop remove 36% of the pixels?
Each side keeps eighty percent of its length, and eighty percent of eighty percent leaves sixty-four percent of the area. On a 24 MP photo that removes 8.64 MP, worth knowing before a client brief or print.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/hobby/photo-crop-resolution \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":6000,"height":4000,"mode":"percent"}'const res = await fetch("https://api.kit.forhosting.com/hobby/photo-crop-resolution", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 6000,
"height": 4000,
"mode": "percent"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/photo-crop-resolution",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 6000,
"height": 4000,
"mode": "percent"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/photo-crop-resolution", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":6000,"height":4000,"mode":"percent"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":6000,"height":4000,"mode":"percent"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/photo-crop-resolution", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"width": 6000,
"height": 4000,
"mode": "percent"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.photo_crop_resolution",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Invalid dimensions, out-of-range percents, and incomplete aspect pairs fail with invalid_input and are not billed.
Percent crop versus aspect-ratio region
If crop_percent is twenty, each side keeps eighty percent of the original, so remaining width is the floor of original width times zero point eight and remaining height is the floor of original height times zero point eight. That model matches a simple zoom-in crop or a symmetric margin trim when you do not care about changing the aspect ratio. An aspect-ratio region is different: you keep the largest axis-aligned rectangle inside the photo that matches aspect_w to aspect_h.
Input contract, response fields, and failure modes
Optional output keys are omitted rather than set to null so clients can rely on presence checks. POST JSON with required finite positive width and height in pixels, and mode set to the string percent or aspect. When mode is percent, crop_percent is required and must lie in the half-open interval from zero inclusive to one hundred exclusive; zero leaves the frame unchanged, and values at or above one hundred are rejected because they would erase the image. When mode is aspect, aspect_w and aspect_h are required positive numbers describing the target ratio numerator and denominator, for example sixteen and nine. Aliases are accepted for common field names such as w, h, percent, and ratio_w. On success the body echoes the integer source size, mode, cropped_width and cropped_height, original_pixels and cropped_pixels, pixels_removed, original_megapixels and cropped_megapixels, megapixels_removed, area_remaining_ratio, area_removed_percent, and human-readable original_resolution and cropped_resolution strings. Percent mode also returns crop_percent and a formula string; aspect mode returns aspect_w, aspect_h, aspect_label, and its formula. Missing mode-specific fields, non-finite numbers, non-positive dimensions, or crops that would leave less than one pixel on a side fail with invalid_input naming the problem. Those failures do not consume prepaid balance. Pair this endpoint with your own export pipeline if you need to write a new file; the capability only computes sizes and megapixel counts and never downloads or mutates image bytes.
Technical questions
How do I calculate remaining resolution after a percent crop?
Send width, height, mode set to percent, and crop_percent between 0 and 100 exclusive. Remaining edges are floor of each original dimension times (100 − crop_percent) / 100; megapixels are pixel counts divided by one million.
How does aspect mode choose the cropped size?
With mode aspect, aspect_w and aspect_h define the target ratio. The API returns the largest axis-aligned integer rectangle of that ratio that fits inside the original width and height.
What does the cropped image resolution calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.