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.

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.

  1. Open the page and Developer Tools. Press F12, or right-click the page and choose Inspect (the exact wording can vary by browser).
  2. 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.
  3. Reload the page. Network panels generally record requests while they are open; reloading helps ensure the image requests appear in the list.
  4. 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 as mime-type:image/webp; replace webp with the MIME subtype you want to find.
  5. 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.
  6. Read the response header. In the request details, open Headers and look under Response Headers for Content-Type. For example, Content-Type: image/avif means 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.

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

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.currentSrc can 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:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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.

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.

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

A 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.

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.

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

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-Verdict and X-Billed headers.
  • Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

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.

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

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.

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

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.

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.

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