Use <img srcset> when an image keeps the same composition and the browser should choose a suitable resolution. Use <picture> when you need to change the crop or composition for a display condition, or offer alternate file formats. In either case, keep an <img> element for the semantic image, alternative text and fallback.
Choose between <picture> and srcset
| Need | Use | Why |
|---|---|---|
| Same image composition, different source resolutions | <img srcset> with width candidates and sizes |
The browser can select a candidate that suits the expected rendered slot and display density. |
| Different crop or composition under a condition, such as a narrow viewport | <picture> with a media-conditioned <source> |
The browser can choose an art-directed image for that condition. |
| Alternative file formats | <picture> with typed <source> elements and an <img> fallback |
The browser can skip a format it does not support and consider the next source. |
MDN describes <picture> as containing zero or more <source> elements and one <img> to offer alternatives for different display or device scenarios: MDN: The Picture element.
Use srcset for resolution switching
When each file shows the same scene with the same crop, provide width-based candidates on the <img>. The sizes attribute describes the image’s expected rendered slot width, allowing the browser to select a suitable source candidate.
<img
src="landscape-800.jpg"
srcset="landscape-480.jpg 480w,
landscape-800.jpg 800w,
landscape-1200.jpg 1200w"
sizes="(max-width: 600px) 100vw,
800px"
width="1200"
height="800"
alt="A kayaker crossing a lake at sunrise">
The 800px slot and 600px breakpoint here are illustrative, not universal values. Replace them with the widths your CSS layout actually produces. If the image occupies half a content column, for example, a sizes value that claims it fills the viewport may lead the browser to fetch a larger candidate than necessary.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
How to write a width-based candidate list
- Use a width descriptor such as
480wto state each candidate’s intrinsic width in pixels. - With width descriptors, provide
sizesto describe the rendered slot. It is not the physical width of the source file. - Use realistic media-conditioned slot sizes followed by an unconditional size, such as
800pxin the example. - Do not mix width descriptors such as
800wand density descriptors such as2xin the samesrcsetlist.
When density descriptors are simpler
If the rendered dimensions are fixed and you only need variants for different pixel densities, density descriptors such as 1x and 2x can be more direct. Do not treat sizes as controlling those density candidates; sizes is relevant to width-descriptor selection.
Use <picture> for art direction
Art direction means supplying a different composition or crop for a condition, rather than merely a differently sized copy of the same image. Put the intended media condition on a <source>, then keep the default image in the final <img>.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
<picture>
<source
media="(max-width: 600px)"
srcset="portrait-crop.jpg">
<img
src="wide-landscape.jpg"
width="1200"
height="800"
alt="A kayaker crossing a lake at sunrise">
</picture>
The browser checks sources and uses the first suitable one. Put a more specific intended condition before a broader or default source. The <img> must remain last: it is the fallback and the element that carries the image’s alternative text and dimensions. Choose the alt text for the image’s purpose, not to describe the mechanics of the source switch.
Offer alternate image formats with a fallback
For the same visual content encoded in several formats, list typed sources in the order you want the browser to consider them, then provide a broadly usable fallback in <img>.
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
<picture>
<source srcset="scene.avif" type="image/avif">
<source srcset="scene.webp" type="image/webp">
<img src="scene.jpg" width="1200" height="800" alt="A kayaker crossing a lake at sunrise">
</picture>
A browser can skip a source whose declared type it does not support and consider later sources before falling back to the image. Verify that each file’s actual encoding and the server’s MIME type match the declared format. Do not assume every browser or deployment handles every format identically.
Keep the image meaningful and reserve its space
The <img> remains the semantic image whether or not a <picture> source is selected. Write meaningful alt text when the image conveys information; for a decorative image, use the appropriate empty alternative text. Set intrinsic width and height when appropriate so the browser can reserve the image’s layout space while it loads. The dimensions describe the fallback image; ensure the art-directed alternatives have compatible proportions or account for the layout change in CSS.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
Validate candidates and troubleshoot common problems
- Check the assets. Confirm that each candidate exists, has the expected intrinsic dimensions and contains the intended crop or format.
- Check the real layout. Compare the rendered slot width at the page’s actual CSS breakpoints with each media condition and the
sizesexpression. - Check selection and fallback. Test the conditions you support and verify that the final
<img>loads and its alternative text remains appropriate. - Check format declarations. Confirm that the file encoding and response MIME type agree with each source’s
typevalue.
| Symptom | Likely cause | What to fix |
|---|---|---|
| The browser downloads a source that is larger than the displayed image needs | sizes overstates the slot width, or does not match the real layout |
Describe the image’s actual rendered width across breakpoints, then verify the expression against CSS. |
| A narrow-screen crop never appears | The media condition does not match the viewport, the source URL is wrong, or an earlier source matches first | Test the condition at the intended breakpoint, check the asset URL, and order specific conditions before broad ones. |
| An alternate format is skipped or fails to load | The declared type, actual file encoding or server MIME type is incorrect | Make the declaration and file agree, check the server response, and retain a working <img> fallback. |
| No fallback image or alternative text is available | The required <img> child was omitted |
Add the final <img> and give it the appropriate src, dimensions and alt. |
| Responsive files are not being selected as expected | Width and density descriptors are mixed, or sizes is being used with density candidates as though it controls them |
Use one descriptor type per list; pair width candidates with accurate sizes, or use density descriptors for fixed rendered dimensions. |
Performance and reliability considerations
Responsive candidates can help the browser avoid downloading a source larger than the layout needs, but the actual bandwidth or load-time effect depends on the assets, rendered slot, network and browser selection. Correct markup cannot compensate for missing files, inaccurate dimensions or a misleading sizes value. Check candidate dimensions, test conditions at the real layout breakpoints, and verify fallback behavior rather than assuming a universal file-size or speed improvement.
Or skip the browser setup
For capturing a webpage as an image or PDF rather than authoring responsive-image markup, ScreenshotNeo is a website screenshot API and MCP server. Its single-call API can capture a page without setting up a browser in your own code.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchBest Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
cURL example, with API documentation at ScreenshotNeo docs:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo removes cookie and consent banners, newsletter popups and chat widgets before capture. Bot checks, blank pages and failed loads are never billed; each response includes page-verdict and billing headers. Its MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000.
Sign up for ScreenshotNeo’s free plan.
Frequently Asked Questions
Can a page use both srcset and <picture>?
Yes. A <picture> can provide conditional or format-specific sources while its final <img> uses srcset and sizes for resolution candidates where appropriate.
Does <picture> replace the need for alt?
No. Put alternative text on the child <img>; it remains the semantic image regardless of which source is selected.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Quick Recap
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.

