Chrome downloads PNG image links. I want them to open for viewing in a new tab. How do I make Chrome do that?

When I click on an image link right now, Chrome downloads the image instead of opening it.

Even if I right-click and select Open link in new tab Chrome still downloads the image, and I have to go through the extra steps of opening the file for viewing manually.

This feels like a mime-type issue to me, but why would Chrome not recognize "image/png" as a valid mime-type for viewing? All PNG images display just fine in an HTML page.

This feels like a really stupid question, but I have googled and searched all over and can't get close to an answer. Am I the only one in the world who has this problem?

NOTE: This only happens for PNG images.


The web server is probably serving the image using the image/x-png MIME type. Chrome does not recognise this as an image (as of August 2012 February 2013), hence offers the file as a download.

image/x-png is a legacy MIME type from the days before it got its official name, image/png, in 1996. However, when Internet Explorer uploads an image it does so using image/x-png "for backward compatibility". I believe this was the case up to IE8, and was "fixed" in IE9. If the web server does not correctly handle this (the web server should detect this non-standard MIME type and treat it as image/png), then it may serve up the client-provided MIME type to other users, including to Google Chrome. Additionally, some web sites will serve up all PNGs as image/x-png.

If you're the web developer you should detect incoming image/x-png and treat it as image-png (never serve up image/x-png).

If you're the user report it as a bug and see @kriegaex's answer for a workaround.


@Tom Clift is right, and here is my workaround for it: use Chrome extension Redirector and add a rule replacing the Content-Type header. That's it. :-)


When a web server sends an unknown MimeType to browsers, browsers automatically download the files because they are unable to understand how to parse and render the response.

At the time, when this question was asked Chrome didn't recognize image/x-png as a valid MimeType and hence downloads the file. This issue was fixed in the later version of Chrome (I believe versions released post 2019) as mentioned in this ticket https://bugs.chromium.org/p/chromium/issues/detail?id=25293

Screenshot showing when Content-Type is image/x-png, Chrome is rendering the image

enter image description here

Whenever you encounter any issue like this, you can use a Chrome Extension like Requestly to Modify Content-Type Response Header

Steps to create a Modify Headers Rule

  1. Add New Rule
  2. Click Modify Headers Rule
  3. Modify Response Header Content-Type Value -> image/png
  4. URL Contains .png

Screenshot of Header Rule in Requestly

enter image description here

Link to the Rule

  • https://app.requestly.io/rules/#sharedList/1615532047903-Fix-Content-Type-for-Images

Additional References

  • Can I modify outgoing request headers with a Chrome Extension?
  • https://medium.com/requestly-docs/how-to-open-a-website-in-iframe-using-requestly-11aa52367cd

You can use the Chrome extension Undisposition to achieve this.