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

Yes it is ironic that we took a screenshot of this ASCII art
Yes it is ironic that we took a screenshot of this ASCII art
Image: Instagram/twheat
We may earn a commission from links on this page.

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.