> text encode
Encode and decode
Base64 packs a file as text so that it fits into an email or a web page. Addresses and HTML have their own way of writing special characters. Here you convert in both directions.
When reading, both notations (+/ and -_), line breaks, a missing = at the end and a data: address in front are recognized.
A value is a search term or a parameter. With a whole address, / ? & = # stay as they are, otherwise the link would be broken.
Split an address
Understand long links: domain, path and every parameter on its own, tracking add-ons detected.
This address has no parameters.
Required are & < > " and ', because only they can mix up HTML. Umlauts and special characters only need an entity on old systems without UTF-8.
Names such as ä, numbers such as ä and ä are read. Every entity is resolved exactly once: &amp; becomes &.
More for text: Count characters · Compare texts · Generate placeholder text · Braille · Calculate a checksum (SHA-256, MD5, CRC-32)
Text and files stay on this device. Nothing is uploaded or saved.
How it works
- 01Choose a tab: Base64 for files and text, URL for addresses, HTML for special characters in web pages and newsletters.
- 02Choose the direction, paste text or use a file. The result appears as you type. “Copy” puts it on the clipboard, the arrow button makes the result the new input.
- 03The address remembers the tab, for example bnkz.de/en/text/encode/#url.
Base64 is not encryption, anyone can convert it back. It only turns any bytes into letters, digits and + / =, which pass through every mail program. Umlauts and emoji are written as UTF-8 first, the way browsers and mail programs expect. The file type is detected when reading, from the first bytes (images, PDF, ZIP, fonts, audio, video); anything else gets the extension .bin. Files up to 25 MB. From a million characters, the field shows only the beginning, but “Copy” and “Save” still take everything. The text fields take up to four million characters.
Only certain characters may appear in addresses, everything else is written as a %-sequence: a space as %20, an ä as %C3%A4. A value is encoded more strictly than JavaScript does by itself, ! ' ( ) * are rewritten too; that never hurts and saves trouble with apostrophes. When reading, old links that still packed umlauts as one byte (%E4) are understood too, and broken %-sequences are simply left as they are. When splitting, tracking parameters are recognized from a fixed list (utm_…, fbclid, gclid, mc_eid and about forty more); whatever is not on the list stays unmarked.
For HTML entities, the names are read according to HTML 4 (ä, €, and about 250 more) plus ' and a few common ones from HTML 5; any other character can be written as a number, for example ✓. Only entities with a semicolon are resolved. When writing, the apostrophe is output as ' because old HTML does not know '.