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.
Take the screenshot to the clipboard
⌃⇧⌘4 for a selection, or ⌃⇧⌘4 then space for a window. Nothing is written to disk.
Paste it into Encode
Switch to Encode (⌘1) and press ⇧⌘V — Paste Image. The screenshot is encoded the moment it arrives.
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.
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.
| Screenshot | Source PNG | Base64 |
|---|---|---|
| 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.