Encoding images & PDFs

How to convert a screenshot to Base64 on a Mac

You can do this with B64 in about five seconds. Here is the fast route — and why a screenshot is exactly the kind of image you should not be pasting into a website.

Screenshots are the images most often turned into Base64, and the ones you should think hardest about before uploading anywhere. A screenshot of a bug is also a screenshot of whatever else was on the screen: a customer's name, an internal dashboard, a mail client, an unreleased feature.

This guide covers the two-keystroke route in B64, which never writes a file and never sends anything anywhere.

The fast way: straight from the clipboard

macOS can put a screenshot on the clipboard instead of saving it to the desktop: hold ⌃ with the usual screenshot keys. From there you are two keystrokes from a Base64 string.

  1. Take the screenshot to the clipboard

    ⌃⇧⌘4 for a selection, or ⌃⇧⌘4 then space for a window. Nothing is written to disk.

  2. Paste it into Encode

    Switch to Encode (⌘1) and press ⇧⌘V — Paste Image. The screenshot is encoded the moment it arrives.

  3. Choose the format and copy

    Pick your output format above the result, then Copy (⇧⌘C). Turn on copy after encoding in Settings ▸ General and even that keystroke is unnecessary.

Setting the defaults

In B64 ▸ Settings… ▸ General set your usual output format and switch on copy after encoding. After that the whole task is: screenshot to clipboard, ⇧⌘V, paste wherever it was going.

If the screenshot is already a file

Screenshots saved the usual way land on the desktop, or wherever you have pointed them — a path like /Users/you/Desktop/Screenshot 2026-09-15 at 09.41.22.png. Drag that file onto the Encode area, or press ⌘O to choose it. Everything after that is the same.

What a Mac screenshot actually is

PNG, by default — lossless, which is right for text and interface elements. That also means it is not small. A full-screen grab on a Retina display is several megabytes of pixels, and Base64 adds a third on top.

The Inspector (⌥⌘I) shows the source size, the pixel dimensions and the resulting character count. If a full-screen grab is too much, screenshot a selection rather than the whole display — it is by far the biggest lever available.

Roughly what a screenshot costs
ScreenshotSource PNGBase64
A dialog or a small selection≈ 180 kB≈ 240 kB
A window on a Retina display≈ 1,4 MB≈ 1,9 MB
A full 5K display≈ 6 MB≈ 8 MB

Where the string goes

  • A bug report or a ticket that has to be one self-contained document — use the Markdown format.
  • An HTML email where remote images would be blocked — use HTML.
  • A test fixture or a JSON field — Plain Base64.

Troubleshooting

Paste Image did nothing

There is no image on the clipboard. A screenshot taken without ⌃ is saved to a file instead — drag that file in, or take it again with the control key held.

The string is enormous

You captured more screen than you needed. A selection rather than a full display typically cuts the payload by an order of magnitude.

I need to do this for a folder of screenshots

Drop the folder into Batch (⌘3) and every screenshot is encoded in one pass.

Frequently asked questions

Do I have to save the screenshot first?

No. Take it to the clipboard with Control held, then press Shift Command V in Encode. No file is ever written.

Is the screenshot uploaded anywhere?

No. It is encoded in the app on your Mac. That matters more for screenshots than for most images, because a screenshot captures whatever else was on screen.

What format are Mac screenshots, and does it matter?

PNG by default, which is lossless and therefore not small. Capturing a selection rather than the whole display is the single biggest thing you can do about the size.

Can I do a whole folder of screenshots at once?

Yes — drop the folder into Batch and every one is encoded in a single pass.