Offline Base64 decoder for Mac: keep copied snippets local
Base64 is easy to decode. That is exactly why private Base64 strings should not go into random web tools.
Use an offline Base64 decoder when the string came from work, logs, support tickets, API payloads, tokens, config files, or customer systems. Use a web decoder for public examples, fake strings, and documentation samples.
TeenyTool includes a Base64 Codec in its Developer category. It has Encode and Decode modes, validates bad input, shows decoded text when it is valid UTF-8, and keeps the normal conversion on your Mac.
Quick decision table
| Base64 string | Use local | Web is fine when |
|---|---|---|
| JWT segment | Yes, especially if it came from a real user or environment. | The token is an intentionally fake sample. |
| API payload value | Yes. Payloads often contain IDs, names, scopes, paths, or business logic. | The payload is copied from public docs. |
| Basic text test | Optional. Local is convenient, but privacy is not the issue. | The string is something like Hello world. |
| Binary file content | Use a more specialized local tool or script if it is large. | The file is public and too large for a quick local panel. |
Base64 is encoding, not secrecy
Base64 turns bytes into printable text. RFC 4648 describes Base64, Base32, and Base16 encodings as ways to represent data in environments that handle text more easily than arbitrary bytes. The standard alphabet uses letters, numbers, plus, slash, and equals padding. The URL-safe variant swaps the plus and slash characters for hyphen and underscore.
None of that is encryption. A Base64 string might look opaque in a log or query parameter, but it is reversible. If the decoded content contains a name, email, token claim, internal path, or product detail, the encoded version is still sensitive.
That is the habit to build: treat Base64 as text wearing a jacket, not as protected data.
How TeenyTool handles Base64
The Base64 Codec in TeenyTool has two modes: Encode and Decode. Encode uses Apple's Foundation Data APIs to encode the input text. Decode uses Foundation's Base64 decoding and reports an invalid state when the input cannot produce UTF-8 text.
The source currently accepts unknown characters during decode, then checks whether the decoded bytes can become a UTF-8 string. That makes it practical for copied snippets with line breaks while still refusing output that cannot be shown as text.
It is intentionally small. It is not a binary file inspector, certificate parser, or secret manager. It is for the common desk job: paste a small string, decode it, copy what you need, and close the panel.
When Base64 shows up at work
Most people do not search for Base64 because they love encodings. They search because a value is blocking them.
- JWTs and auth headers. Header and payload segments are Base64URL encoded. They are easy to inspect, but real tokens can expose claims and scopes.
- API payload fields. A field may carry a small blob, encoded config, or nested JSON.
- Basic auth examples. Credentials may appear as Base64 in old docs and tools. Do not paste real credentials into web decoders.
- Data URLs. Images or small files can appear inline as text. Use a local workflow if the file is private.
- Support logs. Encoded fragments in logs are still customer or system data when they came from a private product.
If your next step is JSON, URL decoding, a hash, a timestamp, or an offline JWT decoder, TeenyTool keeps those nearby. That is the advantage over a single-purpose web decoder.
When a web decoder is fine
A web decoder is fine for public examples and throwaway samples. If the string is in a public README, an RFC, an open documentation page, or a toy example you made up, the privacy argument does not matter.
A web tool can also be better when it has a specific feature TeenyTool does not claim: binary preview, image reconstruction, ASN.1 parsing, certificate inspection, PEM handling, or team-shared debugging context.
Just be honest about the input. The question is not whether Base64 decoding is hard. The question is whether the text belongs on someone else's server or analytics session.
Setup and workflow
- Open teenytool from the menu bar.
- Search for "Base64" or open the Developer category.
- Choose Base64 Codec.
- Pick Encode or Decode.
- Paste the input text.
- Copy the output from the right panel.
If Base64 work is part of your normal debugging flow, favorite Base64 Codec with JSON Formatter, JWT Decoder, URL Codec, and Hash Generator. That gives you the common encoded-payload path in one local menu bar app.
Common questions
Is TeenyTool's Base64 Codec offline?
Yes. The Base64 Codec encodes and decodes text locally in the Mac app. TeenyTool uses the network for license validation, update checks, IP Address, and DNS Lookup, not for normal Base64 work.
Should I paste tokens into an online Base64 decoder?
Avoid it for real tokens, production payloads, customer data, credentials, logs, or internal snippets. A fake token from documentation is fine.
Is Base64 encryption?
No. Base64 is an encoding. Anyone with the string can decode it.
Sources checked
- TeenyTool feature claims were checked against the local homepage and source files for the tool catalog, Base64 Codec, favorites, shortcuts, and network exceptions.
- RFC 4648 for Base64 and Base64URL behavior.
- Apple Foundation Data base64EncodedString documentation.
- Apple Foundation Base64 decoding documentation.
Decode Base64 without uploading it.
teenytool is a $14.99 Mac menu bar toolbox with Base64 Codec, URL Codec, JWT Decoder, JSON Formatter, JSON Diff, image tools, PDF tools, and more.