Skip to navigationSkip to content

Instagram has a hidden feature that turns your photos into amazing ASCII art

ASCII version of an Instagram image
Yes it is ironic that we took a screenshot of this ASCII art
  • Nikhil Sonnad
By Nikhil Sonnad


Published This article is more than 2 years old.

Early computer displays and graphics cards didn’t support the rich, detailed images we take for granted today. Hence the creation of ASCII art, or images made up completely of text.

Like this cat, for example:

 /\     /\
{  `—‘  }
{  O   O  }
~~>  V  <~~
 \  \|/  /
  /     \    \_
 {       }\  )_\_   _
 |  \_/  |/ /  \_\_/ )
  \__/  /(_/     \__/

Now computers and smartphones have ultra-high resolution displays and powerful graphics cards. In just seconds, it’s easy to snap and share rich, detailed, colored photographs on Instagram, for example.

But Instagram also has a hidden throwback feature, which can auto-generate an ASCII representation of any photo shared on its service.

For example, here’s the ASCII version of a photo I took of my building covered in snow, following this month’s blizzard in New York. (These Instagram versions aren’t pure, black-and-white ASCII art, they also have some styles applied to set the color of each character.) The trick also works on Facebook, The Next Web found.

To get Instagram’s ASCII-ified version of any image, all you need to do is add .html to the original image file’s URL. To do that, you need to get the URL—here’s how:

  1. On a desktop browser, right click on any image and click “inspect element”
  2. That will bring you to a <div> in the HTML source. You’ll want to click on the little triangle next to the div above that one, to reveal a <img> tag
  3. Copy the URL set to the <img src="URL_HERE">
  4. Add .html to the url and navigate to that page
  5. There’s the ASCII version!

And here’s a more automatic way to do it:

  1. Go to the Instagram page of any single image
  2. Open your browser’s Javascript console (see here for instructions for each browser)
  3. Paste this code snippet into the console and hit enter:
$(‘meta’).filter(function(i, meta) {
  return meta.getAttribute(“property”) == “og:image”;
})[0].getAttribute(“content”) + “.html”

4. Now the URL to the ASCII version will appear in the console, and you can just click it. (This seems to occasionally pick up the user’s profile image instead of the actual photo.)

Quartz reached out to Instagram to ask why this feature exists, but didn’t immediately receive a response. It could just be a fun easter egg. But it may also be used to partially render a ’gram for users on very slow connections, since this version of the image is a lot smaller.

📬 Kick off each morning with coffee and the Daily Brief (BYO coffee).

By providing your email, you agree to the Quartz Privacy Policy.