Free tools Windows power users keep installed
One-click scans. No signup required.
To check the format a website actually served, inspect the image request in your browser’s Developer Tools and read its Content-Type response header. Values such as image/webp or image/jpeg identify the format the server declared for that response. Don’t rely on the URL ending in .jpg: a CDN or image service can deliver a different format under the same-looking URL.
If the header, filename, and image contents disagree, check the downloaded file’s bytes or decode it with a trusted image utility. The browser’s Network panel is the best first check because it shows the resource requested by the page, not merely a filename you happened to find in its HTML.
Check the format in your browser’s Network panel
This method works in current desktop versions of major browsers with Developer Tools. The labels and layout vary, but the useful evidence is the image request and its response headers.
- Open the page and Developer Tools. Press F12, or right-click the page and choose Inspect (the exact wording can vary by browser).
- Open the Network panel. If it is already open, clear the request list so it is easier to identify requests made by the next page load.
- Reload the page. Network panels generally record requests while they are open; reloading helps ensure the image requests appear in the list.
- Filter for images. Choose the Img resource-type filter if shown. In Chrome, you can also use the filter expression
resource-type:image. To find a particular declared format, Chrome documents filters such asmime-type:image/webp; replacewebpwith the MIME subtype you want to find. - Select the relevant request. If there are many, compare the request URL, preview, and page location. The same page can load several images with similar names or different sizes.
- Read the response header. In the request details, open Headers and look under Response Headers for
Content-Type. For example,Content-Type: image/avifmeans the response declares AVIF.
The Content-Type value is the HTTP declaration for the returned resource. It is stronger evidence than a filename extension, but if you need to establish what the file actually contains, verify the bytes or decode it as described below.
#1 Best Overall
When an image request is hard to find
- Scroll the page. A site may not request a below-the-fold image until it is near the viewport, particularly when it uses lazy loading. Scroll to the image and check the Network panel again.
- Inspect the image at the viewport you care about. Responsive layouts can request different image resources at different viewport or device sizes. DevTools tells you what that page load requested; repeat the check at another relevant size if necessary.
- Check the page’s selected image URL. For an image element in the Console,
$0.currentSrccan help identify the URL selected for the currently inspected element. It is a URL clue, not a format verdict. - Consider non-standard image sources. CSS background images and images inside frames may be less obvious in the page’s main image list. Search the request list for part of the URL or inspect the relevant element and its styles.
Read the three kinds of evidence correctly
There are three different questions people often collapse into “What format is this image?” The response header says what the server declared, the filename suggests what the resource might be, and the content itself can confirm what was delivered.
| Evidence | What it tells you | How much to rely on it |
|---|---|---|
HTTP Content-Type |
The format declared for this particular response, such as image/png or image/webp. |
Best quick answer for what the website served. If the question is about the true contents, compare it with a content-based check. |
| URL or filename extension | A naming clue such as .jpg, .png, or .avif. |
Suggestive only. The URL can be rewritten, extensionless, or inconsistent with the returned resource. |
| Magic bytes or successful decoding | Evidence based on the file’s contents rather than its name. | Use to investigate disagreement. Signatures are useful but not infallible, and not every format has a distinctive magic number. |
When all three agree, confidence is high. When they conflict, give more weight to the response and content than to the extension. A server can mislabel a file, so a header alone is not proof that the bytes form a valid image of that type.
Browsers use the MIME type, not the file extension, to determine how to process a URL. That is why an address ending in .jpg can still result in a WebP or AVIF response, depending on how the site or its delivery infrastructure serves the asset.
Common image formats and their MIME types
Use the MIME type in the response header to map a served image to its declared format:
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows 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 reinstall| Format | Typical MIME type | Common extension clue |
|---|---|---|
| JPEG | image/jpeg |
.jpg or .jpeg |
| PNG | image/png |
.png |
| GIF | image/gif |
.gif |
| SVG | image/svg+xml |
.svg |
| WebP | image/webp |
.webp |
| AVIF | image/avif |
.avif |
| APNG | image/apng |
.apng or sometimes .png |
These are common mappings, not a guarantee that every server uses the conventional extension. A PNG filename, for example, cannot distinguish a static PNG from an animated PNG; check the declared type and, when that distinction matters, the file contents or behavior.
Rank #2
Use the Sources panel to locate a loaded image
In Chrome, the Sources panel lists resources used by the page, including images, and can open an image in a preview. This is useful when you know the page has loaded the image but need help locating its resource. The preview confirms which resource you opened, but it does not replace checking the Network response’s Content-Type header. Use Network for the server declaration and Sources as a navigation aid.
Check the response with JavaScript
For a quick browser-console check, select an image element in the Elements panel, then run this in the Console. In Chrome, the selected element is available as $0. The snippet reports the element’s selected URL and asks for the response’s content type:
const img = $0;
const url = img.currentSrc || img.src;
fetch(url).then(response => {
console.log({
url: response.url,
status: response.status,
contentType: response.headers.get("content-type")
});
}).catch(error => console.error("Could not read image response:", error));
This may fail when the image is on another origin and its server does not permit cross-origin JavaScript access. The image can still display normally in the page; browser security can prevent script from reading its response headers. In that case, use the Network panel, which is the more reliable manual inspection route.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsA fetched response can be redirected, so the final response.url may differ from the URL you started with. Also, Blob.type is supporting evidence only: browsers may infer it from a filename, and it may be empty. Neither an inferred blob type nor a script’s inability to access headers proves the image format.
Resolve disagreements by checking the file contents
If the declared type and extension disagree, download the resource you inspected and identify or decode the actual file with a trusted utility. Make sure you are checking the same response: a page can choose another URL for a different viewport, and a redirect or transformation service can return a resource different from the original asset.
Rank #3
Some formats have recognizable signatures. For example, PNG files begin with bytes commonly written as 89 50 4E 47, while GIF files begin with a signature such as 47 49 46 38 39. A signature can help identify a file when its name or header is misleading, but signatures are not a universal or infallible test. A decoder that successfully parses the file is useful confirmation; if the image is damaged or a format is unsupported by the utility, the result may remain inconclusive.
Why the format can differ from the URL
A web page does not necessarily load the original image file named in a content system. Responsive image markup can offer several candidates, and the browser selects one for its current conditions. A CDN or image service may also transform an asset or negotiate the format it returns. As a result, checking the URL in page source may tell you what was offered or named, not what the browser received.
Recommended Free Tools
DevTools Network records the resource requested by the page load you are examining. If you need to know what visitors at a different viewport or device receive, repeat the check under those conditions rather than treating one request as universal.
Or skip the browser setup
A screenshot can document how a page looked, but it does not identify the format of an individual source image. For source-format inspection, use the Network steps above. If you also need a page capture for documentation, testing, or an AI workflow, ScreenshotNeo can return a screenshot or PDF from one API request; its options include full-page capture and element capture by CSS selector.
For example, this cURL request saves a WebP screenshot of a page. It captures the rendered page, not the original image bytes or their MIME type. See the ScreenshotNeo API documentation for request options.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
- ScreenshotNeo accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off.
- Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed. Responses include
X-Page-VerdictandX-Billedheaders. - Its MCP server provides
take_screenshot,get_page_info, andcapture_pdftools for Claude, Cursor, and other MCP clients. - The Free plan includes 1,000 shots per month with no card. Paid plans start at $5 for 3,000 shots; yearly billing gives two months free.
Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.
Troubleshooting format checks
The URL ends in JPG, but the header says WebP or AVIF
Trust the response header as the server’s declaration for that request, not the extension. If you need certainty about the bytes, download that exact response and identify or decode its contents.
No image request appears in Network
Open Network before reloading, clear old requests, and scroll to the image if the page loads it lazily. Check whether it is a CSS background, inside a frame, or selected only after a responsive layout is applied.
The browser Console reports a CORS error
The image may still be usable as a displayed resource, but the remote server has not allowed your script to read the response. Inspect the request in DevTools Network instead of treating the script error as evidence about the format.
The header is missing or surprising
Check that you selected the image response rather than a redirect, HTML error page, or unrelated request. Then compare the response URL and status, and inspect the downloaded bytes if the format still matters. A server’s declaration can be missing or inaccurate.
Best Value
The checked image changes with screen size
Repeat the request inspection at the viewport or device size relevant to your question. Responsive image selection means there may not be one universal file format for every visitor.
FAQ
Can I check an image’s format without downloading it?
Yes. The Network panel’s response Content-Type header gives the server-declared type without requiring you to save the file. Downloading or decoding is only needed when you want to investigate whether the bytes match a questionable declaration.
Does a screenshot tell me whether a page used WebP or JPEG?
No. A screenshot records rendered pixels in its own output format; it does not preserve the format of each source image used to draw the page. Inspect the image request instead.
Is image/apng the same as image/png?
They are related but distinct MIME types: APNG is animated PNG. The filename may be .apng or .png, so a .png extension alone does not settle whether the image is animated.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Frequently Asked Questions
Can I check an image’s format without downloading it?
Yes. The Network panel’s response Content-Type header gives the server-declared type without requiring you to save the file. Download or decode it only when you need to investigate whether the bytes match a questionable declaration.
Does a screenshot tell me whether a page used WebP or JPEG?
No. A screenshot records rendered pixels in its own output format; it does not preserve the format of each source image used to draw the page. Inspect the image request instead.
Is image/apng the same as image/png?
They are related but distinct MIME types: APNG is animated PNG. The filename may be .apng or .png, so a .png extension alone does not settle whether the image is animated.
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.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →

