Base64 Encoder & Decoder - Text & File (URL-Safe Supported)
Encode any text or file to Base64 (or a data URL), or decode Base64 back to text — or download it as the original binary file. URL-safe variant supported. Full UTF-8, runs entirely in your browser.
Paste text or Base64 here…
or drop any file
Done with Base64 Encoder/Decoder? Try these next
Hand-picked tools that pair well with Base64 Encoder/Decoder. Keep going without losing your file.
URL Encoder / Decoder
Percent-encode URL components or whole URLs, and decode them back. encodeURIComponent and encodeURI modes.
Try it nowHash Generator
Compute SHA-1, SHA-256, SHA-384 and SHA-512 hex digests of any text or file using the browser's Web Crypto API.
Try it nowJWT Decoder
Decode JSON Web Tokens, view header and payload, check expiry. Local-only — your tokens never leave the browser.
Try it nowJSON Prettify
Format, validate and minify JSON in your browser. Pretty 2 / 4 / 8 space indent or one-line minify with copy + download.
Try it nowPassword Generator
Generate strong cryptographically-random passwords up to 128 characters with live entropy estimation.
Try it nowDiff Checker
Compare two text snippets line by line. Split or unified view, optional ignore whitespace and ignore case.
Try it nowFrequently Asked Questions
Paste your text or drop any file into the input box, keep the mode on Encode and the Base64 representation appears in the output. For files you get a data URL that can be embedded directly in HTML, CSS or JSON — no upload server in between.
usageURL-safe Base64 swaps "+" for "-" and "/" for "_" and strips the trailing "=" padding so the encoded value can travel inside URLs, filenames and JWT segments without further escaping. Toggle URL-safe whenever the output ends up in a query string, path segment or HTTP header.
technicalNo. Base64 is an encoding, not encryption. Anyone can decode the string in one click, so never use it as a secrecy mechanism. Reach for AES, RSA or libsodium when you need real confidentiality, and use Base64 only to make binary data text-safe.
privacyBase64 packs three bytes into four characters. When the input length is not a multiple of three, the encoder pads the final block with "=" so the output stays a multiple of four. Standard Base64 keeps the padding; URL-safe Base64 drops it because the length is implicit.
technicalYes. The encoder reads the input as UTF-8 before encoding, so Arabic, Chinese, Cyrillic and emoji characters round-trip cleanly. The decoded result is rendered back as UTF-8 text, which is what every modern browser, terminal and API expects.
compatibilityBase64 inflates payloads by roughly 33% — three bytes of input become four bytes of output. That is fine for short tokens, small icons and JSON-embedded thumbnails, but for large assets prefer a direct binary upload or a CDN link to keep transfers fast.
technicalNo. The encoder runs entirely inside your browser using the standard atob / btoa APIs plus a UTF-8 wrapper, so your text or file never reaches a server. That makes the tool safe for tokens, credentials and proprietary binaries you do not want to expose.
privacySwitch the mode to Decode, paste your Base64 string, and the original text appears instantly in the output, ready to copy or download as .txt. If the string uses '-' and '_' instead of '+' and '/', turn on URL-safe so it decodes correctly.
usageYes. Switch to Decode mode and paste the Base64 or data URL text — if it decodes successfully, a "Download as file" button appears next to the plain Download option. Clicking it writes out the exact original bytes with the extension detected from the embedded MIME type, so a base64-encoded photo or PDF comes back as a real, openable file instead of garbled text.
featuresDownload always saves the decoded output as a plain .txt file, which is right when the Base64 represents text. Download as file only appears when the decoded bytes are recognized as binary data — like an image or PDF — and it reconstructs the original file with its proper extension instead of dumping raw bytes into a text file that won't open correctly.
usageHow Base64 Encoder/Decoder helps you get it done
Real problems it solves every day — for businesses, creators, and everyday tasks. Find the use case that fits you and start in seconds.
Embed Images in HTML & CSS as Data URLs
Inline small icons, logos and SVG sprites as Base64 data URLs to save HTTP requests, ship single-file HTML emails and keep prototypes self-contained without external asset hosting
API Authentication & Bearer Tokens
Build HTTP Basic auth headers, decode bearer tokens during API debugging and inspect base64-wrapped credentials shared in Postman, curl examples and OpenAPI docs
Encoding Files for JSON & GraphQL Payloads
Wrap binary uploads (PDFs, images, audio clips) as Base64 strings so they ride safely inside JSON, GraphQL mutations and webhook bodies that only carry text
Decoding Email MIME Attachments
Pull base64-encoded attachments out of raw .eml files, SMTP logs or IMAP responses to recover lost invoices, screenshots and documents from email exports
URL-Safe Tokens for Web Apps
Generate URL-safe base64 strings for password-reset links, email-verification codes, share IDs and short URLs without breaking on "+" or "/" characters in browsers
Inspecting JWT Segments by Hand
Decode the header and payload segments of a JSON Web Token during local debugging when you do not have a full JWT decoder installed in your terminal or editor
Store Certificates & Keystores in CI/CD Secrets
Encode SSL certificates, Android signing keystores or a GCP service-account JSON file to Base64 so they can be pasted into GitHub Actions, GitLab CI or Vercel environment variables that only accept plain text.
Rescue Files Shared as Raw Base64 Text
Paste a base64 blob copied from a Slack message, bug report or email into Decode mode and use Download as file to recover the original image or PDF someone sent you as text instead of an attachment.
Mock API Responses Without a Backend
Generate base64 placeholder images or binary payloads to drop straight into Postman collections, MSW handlers or Swagger examples while the real backend endpoint is still being built.
Debug Webhook Signature Payloads
Inspect the base64-encoded body Stripe, Twilio or another provider sends with a webhook so you can manually verify a signature or replay a payload while building an integration locally.
Pixoate