Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

Resize a website screenshot by changing its display box, not by forcing unrelated width and height values. For a fluid image, set width (or max-width) and leave height: auto. For a fixed frame, set both dimensions and choose an intentional object-fit mode: contain keeps the entire screenshot visible, while cover fills the frame and crops its edges.

This distinction solves the most common problems: stretched screenshots, unexpected cropping, blurry mobile images, and layout shifts while an image loads. The examples below cover CSS resizing, fixed cards, responsive source files, focal-point control, accessibility, browser testing, and automated capture.

Decide what you are resizing

An image has two separate dimensions: the intrinsic size of the source file and the rendered size of the <img> element. CSS controls the element’s box. The image content must then be fitted inside that box. The object-fit property controls how replaced content such as an image or video is resized to fit its container.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Fluid display: the image follows the available column width and keeps its original ratio.
  • Fixed frame: every card or thumbnail has predictable dimensions, so the image must be contained, cropped, or (rarely) distorted.
  • Responsive delivery: the browser chooses among several source files so a small phone does not download a desktop-sized screenshot.
  • Capture resizing: the screenshot service itself renders a page at a chosen viewport or output size. That is different from resizing an already-created image.

Choose the first three according to the design requirement. Do not use object-fit to repair a stretched fluid image; use an automatic height instead.

#1 Best Overall
Sale
Philips 24 Inch Computer Monitor FHD 100Hz VA VESA Flicker-Free, 241V8LB
  • CRISP CLARITY: This 23.8″ Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
  • INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
  • THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
  • WORK SEAMLESSLY: This sleek monitor is virtually bezel-free on three sides, so the screen looks even bigger for the viewer. This minimalistic design also allows for seamless multi-monitor setups that enhance your workflow and boost productivity
  • A BETTER READING EXPERIENCE: For busy office workers, EasyRead mode provides a more paper-like experience for when viewing lengthy documents

Preserve the aspect ratio for a responsive screenshot

For a screenshot that should shrink with its container while remaining complete, use a block image with a maximum width and automatic height:

.screenshot {
  display: block;
  max-width: 100%;
  height: auto;
}

max-width: 100% prevents the intrinsic image width from overflowing its parent. height: auto tells the browser to calculate the matching height from the source ratio. You can set a specific width instead when the design calls for one:

.article-shot {
  width: 800px;
  max-width: 100%;
  height: auto;
}

The image can render at 800 CSS pixels on a wide layout and shrink on a narrower one without stretching. If the source is larger than the requested display width, CSS changes its display size but not the downloaded file; use responsive source selection when transfer size matters.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Reserve space before the file arrives

Give the browser intrinsic dimensions with HTML attributes, or reserve the ratio in CSS:

<img
  class="screenshot"
  src="screenshot-1600.jpg"
  width="1600"
  height="900"
  alt="Checkout page showing the order summary"
>

The attributes describe the source ratio (16:9 here), while CSS still allows the image to shrink. If the source ratio can vary, use a wrapper with a known aspect-ratio and decide how its content should fit. Reserving geometry prevents surrounding content from jumping when the image finishes loading; no universal percentage improvement should be assumed.

Rank #2
Philips 22 Inch Computer Monitor FHD 100Hz VA VESA Flicker-Free, 221V8LB
  • CRISP CLARITY: This 22 inch class (21.5″ viewable) Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
  • 100HZ FAST REFRESH RATE: 100Hz brings your favorite movies and video games to life. Stream, binge, and play effortlessly
  • SMOOTH ACTION WITH ADAPTIVE-SYNC: Adaptive-Sync technology ensures fluid action sequences and rapid response time. Every frame will be rendered smoothly with crystal clarity and without stutter
  • INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
  • THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors

Fit an image inside a fixed box

Cards, avatars, galleries, and dashboard tiles often require identical boxes. In that case, make the parent establish the frame and let the image fill it:

.screenshot-frame {
  width: 320px;
  height: 180px;
  overflow: hidden;
}

.screenshot-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-position: center;
}

Use contain when every pixel matters

.screenshot-frame img {
  object-fit: contain;
  background: #f1f3f5;
}

contain preserves the source ratio and shows the complete screenshot. If the frame and image ratios differ, unused space appears as letterbox or pillarbox bands. This is the safe default for UI screenshots, diagrams, charts, and product documentation where clipping text or controls would make the image misleading.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use cover when the frame must be filled

.hero-shot img {
  object-fit: cover;
  object-position: 50% 30%;
}

cover preserves the ratio while scaling until the whole frame is filled. Anything outside the frame is clipped. Set object-position to keep the important region visible: percentages, lengths, or keywords such as top, center, and right are valid choices. A top-weighted position is useful when a screenshot’s heading is more important than its footer, but inspect every breakpoint because the crop changes with the frame ratio.

Understand the less common modes

  • fill stretches the content independently in each direction. It can distort logos, text, and interface controls, so use it only when distortion is deliberately acceptable.
  • none keeps the content at its intrinsic size. Overflow may be clipped by the frame.
  • scale-down behaves like whichever of none or contain produces the smaller rendered object.

Serve the right source file with srcset and sizes

CSS resizing does not automatically reduce the bytes downloaded. Provide width candidates when the same screenshot is displayed at materially different sizes:

<img
  src="screenshot-800.jpg"
  srcset="screenshot-400.jpg 400w,
          screenshot-800.jpg 800w,
          screenshot-1600.jpg 1600w"
  sizes="(max-width: 600px) 100vw, 800px"
  width="1600"
  height="900"
  alt="Website screenshot of the analytics dashboard"
>

The width descriptors (400w, 800w, and 1600w) identify each file’s intrinsic width. The sizes value tells the browser how wide the image is expected to be in the layout: full viewport width up to 600 pixels, then 800 CSS pixels. The browser chooses a suitable candidate; when no exact match exists, it can choose a larger candidate and scale it down. Keep the fallback src usable for browsers or contexts that do not evaluate the candidate list.

Rank #3
Sale
Dell 24 Monitor - SE2426H - 23.8-inch FHD (1920x1080) 144Hz 1ms Display, in-Plane Switching (IPS) Technology, AMD FreeSync™, TÜV 3-Star 2X HDMI, Tilt
  • Clear visuals. Fluid motion: A 144Hz refresh rate and 1ms MPRT deliver smooth, tear‑free motion across work, gaming, and streaming for clearer, more fluid viewing.
  • Eye comfort: TÜV Rheinland 3‑star* certification reduces harmful blue light while preserving stunning color quality without compromise. *TÜV Rheinland 3-star eye comfort certification.
  • Wide viewing angle: Get consistent views across a wide 178° /178° viewing angle.
  • In-Plane Switching (IPS): See excellent color accuracy and consistency across wide viewing angles with In-plane Switching (IPS) technology.
  • Ultra-thin bezels: Maximize your viewing experience with thin bezels.

Do not confuse density with layout width

Use width descriptors when files represent different physical widths. A separate set of 1x and 2x density candidates is appropriate when the CSS slot is fixed but high-density screens need more source pixels. Do not mix an inaccurate sizes declaration with a carefully prepared srcset; the browser’s choice depends on the slot you describe.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Resize only part of a screenshot

If you need a thumbnail of one region, cropping is a content decision, not merely a resize. Use a fixed frame and object-fit: cover for a simple crop, then move the focal point with object-position. For an exact crop that must never change, create a separate derivative file in an image editor or build a server-side transformation. A CSS crop still downloads the original source unless a responsive or transformed URL is supplied.

Make the markup accessible and predictable

  • Write alternative text that describes the information a reader needs, not “screenshot.” If the image is decorative, use alt="".
  • Keep text inside the page’s HTML when possible. Text baked into a screenshot cannot be selected, translated, or reliably read by assistive technology.
  • Use display: block to avoid the small inline-image baseline gap when the image is a standalone block.
  • Check both portrait and landscape layouts. A cover crop that looks correct on desktop can hide a navigation control on mobile.
  • Do not upscale a small source merely to meet a large frame. The browser can enlarge it, but detail will not be recreated.

Capture a correctly sized screenshot in the first place

When the problem is the screenshot’s content, capture at the target viewport instead of resizing afterward. Set the viewport width and height, device scale factor, full-page behavior, and any wait condition in your browser automation. A full-page capture is not the same as a viewport shot: it includes the page’s scrollable height and may create a very tall image. If a page lazy-loads images, wait for the relevant selector or for network idle before capture.

For a reproducible local workflow, make the page deterministic: use a fixed viewport, load the same fonts, wait for dynamic content, disable animations where appropriate, and capture after cookie dialogs or overlays have been handled. Then apply the CSS rules above to present the resulting file.

Or skip the browser setup

ScreenshotNeo returns a PNG, JPEG, WebP, or PDF from one request, so you can request the URL and then resize the resulting asset with the same CSS or image pipeline. The API supports full-page capture with lazy images loaded, one-element capture by CSS selector, 12 device presets plus custom viewports, retina scale, dark mode, custom CSS and JavaScript, click actions, selector or delay waits, network-idle waits, blocked ads and trackers, custom headers, cookies, user agents, authorization, timezone and geolocation, transparent backgrounds, image resizing, chosen cache TTLs, signed links, asynchronous jobs with signed webhooks, bulk capture of up to 100 URLs per call, a usage API, and an OpenAPI specification. Parameter names used by other screenshot APIs also work.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Samsung 27" Essential S3 (S36GD) Series FHD 1800R Curved Computer Monitor
  • CURVED FOR ENHANCED ENGAGEMENT: An immersive viewing experience with a curved monitor that wraps more closely around your field of vision; It creates a wider view, enhancing depth perception and minimizing peripheral distraction
  • SMOOTH PERFORMANCE FOR SEAMLESS CONTENT: Stay in the action when playing games, watching videos, or working on creative projects; The 100Hz refresh rate reduces lag and motion blur so you don't miss a thing in fast-paced moments¹
  • MORE GAMING POWER: Gain the edge with optimizable game settings; Color and image contrast can be adjusted to see scenes more vividly and spot enemies hiding in the dark; Game Mode adjusts any game to fill the screen so you can view every detail²
  • KEEP IT EASY ON THE EYES: Care for your eyes and stay comfortable, even during long sessions; Advanced eye comfort technology certified by TÜV reduces eye strain by minimizing blue light and reducing irritating screen flicker²
  • INCREASED VERSATILITY: Connect to more; Plug devices straight into your monitor for increased flexibility, making your computing environment even more convenient

Before capture, ScreenshotNeo accepts the cookie or consent banner like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be disabled. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed. Response headers identify the page verdict and whether the request was billed. Its MCP server exposes take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients.

Use the API documentation at https://screenshotneo.com/docs/ for authentication and options. A minimal cURL request is:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Python:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

The Free plan includes 1,000 shots per month with no card. Paid plans are Starter $5 for 3,000, Growth $15 for 15,000, Pro $39 for 60,000, Scale $99 for 250,000, and Business $249 for 1,000,000; yearly billing gives two months free, and every feature is included on every plan. Create a free ScreenshotNeo account to start.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot common resizing failures

The image looks stretched

Remove one forced dimension or set the other to auto. For a fixed frame, replace fill with contain or cover.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Important content is cut off

Change cover to contain, enlarge the frame, or adjust object-position. If every pixel is required, do not use a crop-based card.

There are unexpected bars around the image

Those bars are the expected result of contain when aspect ratios differ. Match the frame ratio, choose a background color, or accept a deliberate crop with cover.

Best Value
Sale
Sceptre New 22-Inch Gaming Monitor, FHD 1080p, Up to 144Hz, HDMI, DisplayPort, Built-in Speakers, Machine Black (E225W-FW144 Series, 2026)
  • 【INTEGRATED SPEAKERS】Whether you're at work or in the midst of an intense gaming session, our built-in speakers provide rich and seamless audio, all while keeping your desk clutter-free.
  • 【EASY ON THE EYES】 Protect your eyes and enhance your comfort with Blue-Light Shift technology. This feature reduces harmful blue light emissions from your screen, helping to alleviate eye strain during long hours of use and promoting healthier viewing habits.
  • 【WIDEN YOUR PERSPECTIVE】Our sleek minimal bezel design ensures undivided attention. The nearly bezel-free display seamlessly connects in a dual monitor arrangement, delivering an unobstructed view that lets you focus on more at once, completely distraction-free.

The mobile page downloads a huge file

Add width-based srcset candidates and an accurate sizes value. CSS alone changes presentation, not necessarily transfer size.

The layout jumps while loading

Add correct width and height attributes or reserve an equivalent aspect-ratio. Verify that those values match the source ratio.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The screenshot contains a cookie banner or chat bubble

Handle the overlay in your capture workflow, hide it with permitted custom CSS, or use ScreenshotNeo’s pre-capture consent and widget cleanup. Check the response verdict and billing headers when diagnosing failed captures.

Quick decision guide

Requirement Recommended method Trade-off
Show the entire screenshot responsively max-width:100%; height:auto Frame height changes with width
Keep a uniform card size object-fit:contain May show empty bands
Fill a hero or thumbnail object-fit:cover plus object-position Edges are cropped
Allow intentional distortion object-fit:fill Aspect ratio is not preserved
Reduce downloads on different screens srcset and sizes Requires multiple source files

Frequently Asked Questions

Does changing CSS width reduce the image file size?

No. CSS changes the rendered box. Use appropriately sized source files with srcset and sizes when the downloaded bytes matter.

Which object-fit value is safest for UI screenshots?

Use contain when every control, label, and edge must remain visible. Use cover only when cropping is an intentional design choice.

Can object-position prevent all cropping?

No. It chooses which region remains visible when cover crops the source; contain is required to show the complete image.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Should I resize a screenshot before uploading it?

Resize or generate a derivative when the original is substantially larger than any display slot, and retain enough pixels for the largest intended view.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.