Stop Taking Screenshots of Plain Text

Don’t get me wrong, I love screenshots. They’re a valuable tool that we probably take for granted (and much better than taking out your phone and snapping a picture of your monitor. You know who you are). However, they have become something that we default to by force of habit; and there are times when taking a screenshot makes no sense at all. Plain text is one of them.

Far too often I’ll ask a client or colleague for the output of a terminal command, and receive something like this:

Even when the image is a decent resolution, this is still a nuisance. The text can’t be copied, parsed, or searched. If someone needs to pull information such as a hash or address, it must be manually typed out or run through an OCR (Optical Character Recognition) program; and the results from either option are prone to errors.

So I ask: Why take a screenshot in the first place?

Plain, mono-spaced text is literally the easiest, most ubiquitous data format you will ever work with. It’s the bedrock the entire modern computing world is built on. Why complicate this by transforming such simple data into an image? Every OS has a built-in plain text editor and numerous other great apps available. Copying and saving to a .txt file is just as easy as taking a screenshot, if not more so.

Issues with formatting when you try to copy/paste? Ctrl+Shift+V (paste without formatting) is your best friend. Option+Shift+Command+V on MacOS.

The screenshot above is 44KB. The same data in a text file is 735 bytes. That’s a file 60 times smaller and much more usable. Sure, 44KB seems insignificant by today’s standards, but a 60x increase in size along with such a loss of functionality and convenience really emphasizes how silly this practice is.

Reasons to Preserve Plain Text Format

  • Information can be copied, searched, and otherwise parsed.
  • Text size can be increased for accessibility.
  • Much smaller file size
  • Non-HTML email recipients don’t have to guess which file is the text output and which is your company logo from your email signature. (Oddly specific, I know.)

Most documentation platforms, and even communications apps such as Teams and Slack, have options to insert code blocks/snippets. Use them! If you’re a technical writer and have the option to use custom HTML and CSS to spruce up your code blocks, then all the better.

ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:9f:dc:fd brd ff:ff:ff:ff:ff:ff
    inet brd scope global dynamic enp0s3
       valid_lft 85663sec preferred_lft 85663sec
    inet6 fe80::a00:27ff:fe9f:dcfd/64 scope link
       valid_lft forever preferred_lft forever

Let’s show plain text the respect it deserves and make everyone’s work a little easier.