Convert Text to Base45

Instantly encode standard text and strings into the Base45 (RFC 9285) format. Essential for generating high-density alphanumeric QR codes, such as those used in global health certificates.

Input

Result

No additional configuration needed. Just hit run!
Money Starter Kit

Get Free Money Making Tips

Join 2,000+ smart readers getting side-hustle ideas, passive income strategies, and proven finance tips delivered straight to your inbox.

No Spam
Privacy First
Instant Access
Client-Side Privacy
Instant Response
100% Free Forever

Convert Text to Base45 — The Modern QR Code Encoder

The Convert Text to Base45 tool is a highly specialized encoding utility designed to transform standard text and binary data into the RFC 9285 Base45 standard. While developers are deeply familiar with Base64 for web data and Base32 for human-readable codes, Base45 solves a very specific architectural problem: Maximum Data Density in QR Codes. By restricting the output alphabet exactly to the 45 characters supported by the native Alphanumeric mode of ISO/IEC 18004 (QR Code standard), Base45 allows massive amounts of data to be optically encoded without triggering the QR code generation software into a less efficient binary or UTF-8 mode.

Developed specifically to support the Digital COVID Certificate (DCC) system worldwide, Base45 ensures that complex cryptographic signatures and compressed JSON payloads can fit onto a single, scannable optical matrix. If you are developing optical tracking systems, ticketing platforms, or offline verification apps, our Base45 encoding engine provides instantaneous, RFC-compliant string generation capable of processing over 2 million characters per second securely in your browser.

The Technical Architecture of Base45 Encoding

Base45 operates on a radically different mathematical premise than Base64 or Base32, which rely on simple bit-shifting frameworks (6-bit and 5-bit chunks, respectively). Because 45 is not a clean power of 2, bit-shifting cannot be used. Instead, Base45 relies on a complex Base-N mathematical conversion.

Our Text to Base45 converter perfectly executes this mathematical pipeline. First, the engine reads your input text and converts it into a raw 8-bit byte array. It then chunks this array into pairs of 2 bytes (16 bits). The integer value of each 16-bit pair (ranging from 0 to 65535) is mathematically divided by 45, and then by 45 again, to generate exactly three Base45 characters (since 45^3 = 91,125, which comfortably holds all 16-bit values). If there is a single byte left over at the end of the text, it is divided by 45 to generate exactly two Base45 characters. This stringent mathematical standard guarantees global interoperability with all RFC 9285 decoding libraries.

Understanding the QR Code Alphanumeric Alphabet

To maximize QR code density, the Base45 standard explicitly utilizes the 45 characters native to the QR code alphanumeric mode. By doing so, QR code generators do not need to "waste" pixels declaring mode changes or supporting full 8-bit characters. The alphabet includes:

  • Numbers: `0-9`
  • Uppercase Letters: `A-Z`
  • Specific Symbols: `Space ( ) `, `$ `, `% `, `* `, `+ `, `- `, `. `, `/ `, `: `

Note: Because the alphabet includes the Space character, Base45 strings will often appear visually fragmented, which is perfectly normal and expected for optical scanners.

Factual Proposition: Why Not Just Use Base64 in QR Codes?

It is a common misconception that Base64 is the best way to store binary data in a QR code. However, standard QR codes only support 45 alphanumeric characters efficiently. If you feed a Base64 string (which contains lowercase letters and '=' padding) into a QR generator, it is forced to switch into "Byte Mode." In Byte Mode, every single character consumes 8 bits of optical space. When using our Base45 encoder, the QR generator stays in "Alphanumeric Mode," where every character only consumes 5.5 bits of optical space. This results in a QR code that is physically smaller, less visually dense, and significantly easier to scan in low-light environments.

Algorithm Execution: The 4-Step Modulo Model

  1. Byte Extraction: The input text is read and mapped into an 8-bit unsigned integer array (Uint8Array) using native UTF-8 encoding.
  2. 16-Bit Chunking: The array is processed in groups of two bytes. (e.g., `[ByteA, ByteB]`).
  3. Mathematical Mapping: The 16-bit integer is converted using modulo 45 arithmetic (`val % 45`, `(val / 45) % 45`, `val / (45^2)`) to pinpoint three exact characters from the standard alphabet.
  4. Remainder Processing: If the text length is odd, the final lone byte is calculated (`val % 45`, `val / 45`) and appended as two resulting characters.

Comparison Table: Base45 vs. Traditional Encodings

The following table illustrates why developers choose Base45 when optimizing data for optical transmission protocols:

Performance Comparison: Optical Data Encodings
Encoding Scheme Alphabet Size QR Code Mode Triggered QR Data Density
Base45 (Our Tool) 45 Characters Alphanumeric Mode 5.5 bits / character
Base64 64 Characters Byte Mode 8 bits / character (Suboptimal)
Hexadecimal 16 Characters Byte Mode 8 bits / character (Suboptimal)
Base32 32 Characters Alphanumeric Mode 5.5 bits / char (But higher string expansion)

Professional Use Cases for Base45 Encoding

  • Global Health Certificates: Health organizations compress signed CBOR (Concise Binary Object Representation) payloads and encode them into Base45 to generate the optical **Secure QR Codes** used for vaccine passports and test verifications.
  • Offline Ticketing Systems: Event organizers compress cryptographically signed JSON Web Tokens (JWTs) using Zlib, and then encode the binary into Base45 to create highly scannable **offline event tickets**.
  • Air-Gapped Data Transfer: Embedded engineers use Base45 QR codes to transfer firmware configuration data and public keys from mobile phones to **air-gapped IoT microcontrollers** via a small optical camera.
  • Digital Logistics: Supply chain managers encode dense shipment manifests into Base45 to ensure the printed barcodes remain readable even when the shipping label is **damaged or partially obscured**.

Advanced User Features of the Online Base45 Encoder

The Convert Text to Base45 tool includes professional-grade configurations for accurate payload generation:

  • RFC 9285 Strict Compliance: The encoding engine strictly adheres to the modulo math defined by the Internet Engineering Task Force, ensuring your payload will decode perfectly on standard iOS and Android QR libraries.
  • Native UTF-8 Support: The engine automatically processes complex international text, kanji, and emojis by correctly mapping them into their constituent bytes before the mathematical Base45 conversion begins.
  • High-Speed Client-Side Execution: All mathematical processing occurs natively within your browser. You can confidently encode highly sensitive cryptographic payloads or PII (Personally Identifiable Information) without risking data exfiltration.
  • Instant Payload Density Assessment: The real-time statistics panel shows the exact length of your input versus the encoded String, helping you determine exactly which version/size of QR code you will need to generate.

How to Use: The Professional Base45 Encoding Workflow

  1. Input Your Text: Paste your standard text, JSON block, or string into the main input area.
  2. Observe the Data: Note that standard text inputs work flawlessly, but in professional workflows, you typically encode compressed binary (like Zlib compressed CBOR) for maximum efficiency.
  3. Execute Transformation: Click "Encode". The engine will immediately churn through the modulo arithmetic and output the Base45 string.
  4. Expect Spaces: Do not be alarmed if your output has spaces in it (e.g., `AB3C $D4`). The Space character is a valid structural component of Base45.
  5. Export and Generate QR: Copy the resulting string and pass it to your favorite QR code generator. Ensure the generator is configured to use **Alphanumeric Mode**.

Frequently Asked Questions (PAA)

Why does my Base45 output have spaces in it?

Unlike Base64, the **Space character ( )** is one of the 45 valid characters in the Base45 alphabet. It is not an artifact or formatting error; it represents mathematically vital data.

Is Base45 an encryption method to secure my QR code?

No. Base45 is strictly an **Encoding format**. Anyone using a Base45 decoder can read the underlying data. To secure your data, you must encrypt it (e.g., AES-GCM) or sign it (e.g., ECDSA) before running it through this Base45 encoder.

Should I use Base45 for standard web APIs?

No. Base45 was purpose-built for **QR codes and optical scanners**. Because it includes symbols like spaces and slashes, it is extremely poor for URL parameters or JSON APIs. Stick to Base64url for standard web data.

Why is my Base45 string longer than my original text?

Base45 expands the data footprint because it converts 2 bytes (16 bits) into 3 characters. This means the resulting string is approximately **50% longer** than the input text, which is an expected tradeoff for optical optimization.

Is my input text stored on your server?

No. All Base45 modulo calculations are executed **In-Memory and server-side**. Your original payloads and resulting strings are purged instantly after the session, guaranteeing absolute privacy.

Professional Data Formatting Standards

The Convert Text to Base45 tool is engineered to meet the stringent requirements of modern optical data transmission. By automating the complex Base-N math required by the RFC 9285 standard, it allows systems architects, health informatics professionals, and ticketing engineers to focus on the cryptographic integrity of their payloads rather than the mechanics of optical data formatting. When you need maximum data density for offline scanning, our base45 engine is your most reliable foundation.

More Text Tools

Browse All

Slug Readability Checker

Sentence Opener Diversity Checker

CTA Verb Strength Checker

Prefix Suffix Bulk Adder

Ordinal Number Generator

Text Normalization Tool

Generate Character Frequency Table

Generate Word Frequency Table

Pad All Lines to Equal Length

Shortest Line Finder

Longest Line Finder

Extract Time Mentions from Text

Extract Dates from Text

Extract Organization Names from Text

Extract Person Names from Text

Generate Lorem Ipsum (Legal Style)

Generate Lorem Ipsum (Medical Style)

Generate Lorem Ipsum (Technical Style)

Generate Lorem Ipsum (Business Style)

Extract Stock Tickers from Text

Extract ISBN Numbers from Text

Extract MAC Addresses from Text

Extract Social Security Numbers from Text

Extract Passport Numbers from Text

Extract Credit Card Numbers from Text

Extract SWIFT Codes from Text

Extract IBAN Numbers from Text

Extract VIN Numbers from Text

Extract Tracking Numbers from Text

Text to Social Media Caption

Extract Product Keys from Text

Extract Geographic Coordinates from Text

Extract Mathematical Formulas from Text

Extract Hashtags from Text

Extract Mentions from Text

Extract Percentages from Text

Extract Phone Numbers from Text

Extract IP Addresses from Text

Extract Monetary Values from Text

Text to BBCode Format

Text to Markdown Table

Text to LaTeX Document

Text to HTML Table

Text to HTML Paragraphs

Text to HTML List

Capitalize First Letter of Each Line

Remove Trailing Punctuation from Lines

Add Comma to End of Each Line

Add Period to End of Each Line

Convert Colons to Newlines

Convert Pipes to Newlines

Convert Semicolons to Newlines

Extract Odd Lines from Text

Keep First N Words from Each Line

Remove Last N Words from Each Line

Remove First N Words from Each Line

Append Line Length to Each Line

Prepend Line Number to Each Word

Sort Words in Each Line

Shuffle Words in Each Line

Repeat Each Line N Times

Add Blank Line After Every N Lines

Extract Even Lines from Text

Keep Every Nth Line

Extract Lines Containing Email Addresses

Extract Lines Containing URLs

Extract Lines Containing Numbers

Count Characters per Line

Count Words per Line

Swap First and Last Word per Line

Extract Last Word from Each Line

Extract First Word from Each Line

Average Sentence Length Calculator

Average Word Length Calculator

Find Shortest Word in Text

Find Longest Word in Text

Sentence Boundary Detector

Text Watermark Embedder

Steganography Whitespace Decoder

Steganography Whitespace Encoder

Fix Broken Hyphenated Words

Capitalization After Period Fixer

Fix Spacing After Punctuation

Fix Multiple Punctuation

Standardize Hyphens and Dashes

Standardize Quotation Marks

Extract Quotes from Text

Remove Emojis from Text

Count Emojis in Text

Convert Shortcodes to Emojis

Convert Emojis to Shortcodes

Emoji to Text Description Converter

Convert Fullwidth to Halfwidth

Text to Fullwidth Characters

Text to Mathematical Script

Text to Fraktur Gothic Style

Text to Double-Struck Style

Text to Squared Letters

Text to Circled Letters

Homoglyph Replacer

Homoglyph Detector

Zero-Width Character Remover

Zero-Width Character Detector

Remove Text Between Curly Braces

Remove Text Between Parentheses

Remove Text Between Brackets

Extract Text Between Backticks

Extract Text Between Double Quotes

Extract Text Between Single Quotes

Extract Text Between Quotes

Extract Text Between Angle Brackets

Extract Text Between Curly Braces

Extract Text Between Parentheses

Extract Text Between Brackets

ROT18 Cipher Encoder

ROT5 Number Cipher

Tap Code Decoder

Tap Code Encoder

Polybius Square Decoder

Polybius Square Encoder

Rail Fence Cipher Decoder

Rail Fence Cipher Encoder

Bacon Cipher Decoder

Bacon Cipher Encoder

Atbash Cipher Converter

Vigenère Cipher Decoder

Vigenère Cipher Encoder

Caesar Cipher Decoder

Caesar Cipher Encoder

Key Phrase Extractor

Keyword Density Analyzer

Action Items Extractor

Text to Meeting Notes Format

Text to Outline Format

Text to Quiz Format

Text to Flashcard Format

Text to Dialogue Format

FAQ to Prose Converter

Text to FAQ Format

Bullet Points to Paragraph

Paragraph to Bullet Points

Numbered List to Roman Numerals

Text to Roman Numeral List

Text to Alphabetical List

Text to Numbered List

Cliché Detector

Rhyme Scheme Analyzer

Assonance Detector

Alliteration Detector

Alliteration Generator

Forbidden Letter Detector

Lipogram Generator

Pangram Generator

Pangram Checker

Expand Acronyms in Text

Generate Acronym from Text

Convert Text to Acrostic Poem

Passive Voice Detector

Vocabulary Richness Calculator

Speaking Time Estimator

Reading Time Estimator

Automated Readability Index

Coleman-Liau Readability Index

SMOG Readability Index Calculator

Gunning Fog Index Calculator

Flesch-Kincaid Readability Score

Highlight Stop Words in Text

Remove Stop Words from Text

Convert Text to IPA Notation

Convert NATO Phonetic Alphabet to Text

Convert Text to NATO Phonetic Alphabet

Convert Leet Speak to Text

Convert Text to Leet Speak

Convert Pig Latin to Text

Convert Text to Pig Latin

Print the Alphabet

Obfuscate Text Generator

Unbake Mojibake

Mojibake Text Generator

Slowly Reveal Text Message

Animate Text Generator

Text Marquee Sign Generator

3D Text Generator

2D Text Generator

LCD Text Generator

Word Syllable Splitter

Word Spiral Generator

Word Matrix Generator

Letter Matrix Generator

Letter Spiral Generator

Letter Circle Generator

Word Cloud Generator

Duplicate Paragraphs in Text

Text Mnemonic Generator

Tail Text Online

Head Text Online

Grep Text Online

Cut Text Online

Create Mirror Copy of Text

Create Text Typos

Quoted-Printable to Text Converter

Text to Quoted-Printable Converter

Compare Text

Remove Carriage Returns from Text

Strip XML Tags from Text

Strip HTML Tags from Text

XXDecode Text

XXEncode Text

UUDecode Text

UUEncode Text

IDN Decode Text

IDN Encode Text

UTF-32 Decode Text

UTF-32 Encode Text

UTF-16 Decode Text

UTF-16 Encode Text

UTF-8 Decode Text

UTF-8 Encode Text

Convert Nettext to Text

Convert Text to Nettext

Convert Base65536 to Text

Convert Text to Base65536

Convert Base85 to Text

Convert Text to Base85

Convert Base58 to Text

Convert Text to Base58

Convert Base45 to Text

Convert Base32 to Text

Convert Text to Base32

Convert Baudot Code to Text

Convert Text to Baudot Code

Decode Punycode to Text

Encode Text to Punycode

Extract Cities from Text

Extract Countries from Text

Extract Numbers from Text

Extract URLs from Text

Extract Email Addresses from Text

Randomize Letter Spacing

Interweave Text Fragments

Enumerate Paragraphs in Text

Enumerate Sentences in Text

Enumerate Words in Text

Enumerate Letters in Text

Add Diacritics to Text

Find Patterns in Text

Count Paragraphs in Text

Count Sentences in Text

Count Letters in Text

Count Symbols in Text

Format Text

Chunkify Text

Convert Number to Text

Convert Text to Number

Generate Text Trigrams

Convert Text Columns to CSV

Convert CSV to Text Columns

Convert Code Points to Text

Convert Text to Code Points

Convert Braille to Text

Convert Text to Braille

Create Crossword Puzzle

Generate Lorem Ipsum Text

Generate Glitch Text

Add Fuzziness to Text

Color Paragraphs in Text

Color Sentences in Text

Color Words in Text

Color Letters in Text

Color Symbols in Text

Stem Words in Text

Lemmatize Text

Tokenize Text

Calculate Levenshtein Distance

Convert Hexadecimal to Text

Convert Text to Hexadecimal

Convert Decimal to Text

Convert Text to Decimal

Convert Octal to Text

Convert Text to Octal

Convert Binary to Text

Convert Text to Binary

Convert Base64 to Text

Convert Text to Base64

Convert Text to URL Slug

HTML Decode Text

HTML Encode Text

URL Decode Text

URL Encode Text

Calculate Text Complexity

Convert Morse to Text

Convert Text to Morse

Draw Box Around Text

Create Zigzag Text

Generate Text Skip-Grams

Generate Text N-Grams

Generate Text Bigrams

Generate Text Unigrams

Convert Nice Columns to Text

Convert Text to Nice Columns

Remove Text Consonants

Duplicate Text Consonants

Replace Text Consonants

Remove Text Vowels

Duplicate Text Vowels

Replace Text Vowels

Highlight Patterns in Text

Highlight Words in Text

Highlight Letters in Text

Visualize Text Structure

Erase Words from Text

Erase Letters from Words

Remove Text Letters

Duplicate Text Letters

Replace Digits with Words

Replace Words with Digits

Convert Digits to Letters

Convert Letters to Digits

Replace Text Letters

Change Text Alphabet

Rewrite Text

Flip Text Vertically

Rotate Text

Printf Text

Test Regex with Text

Highlight Regex Matches in Text

Extract Regex Matches from Text

Generate Text from Regex

Generate Text of Certain Length

ROT47 Text

ROT13 Text

Unescape Text

Escape Text

JSON Parse Text

JSON Stringify Text

Extract Text from JSON

Extract Text from BBCode

Extract Text from XML

Extract Text from HTML

Anonymize Text

Censor Words in Text

Add Curse Words to Text

Remove Quotes from Lines

Add Quotes to Lines

Remove Quotes from Words

Add Quotes to Words

Remove Quotes from Text

Add Quotes to Text

Decrement Text Letters

Increment Text Letters

Remove Text Diacritics

Remove Text Diacritics

Remove Text Punctuation

Remove All Whitespace from Text

Replace Text Spaces

Randomize Text Spacing

Normalize Text Spacing

Increase Text Spacing

Remove Extra Spaces from Text

Replace Commas in Text

Convert Spaces to Commas

Convert Commas to Spaces

Convert Comma to Column

Convert Column to Comma

Convert Newline to Comma

Convert Comma to Newline

Convert Tabs to Spaces

Convert Spaces to Tabs

Convert Newlines to Spaces

Convert Spaces to Newlines

Fancify Line Breaks in Text

Fix Paragraph Distance

Normalize Line Breaks in Text

Randomize Line Breaks in Text

Replace Line Breaks in Text

Remove Line Breaks from Text

Add Line Breaks to Text

Invert Text Case

Randomize Text Case

Convert Text to Proper Case

Convert Text to Title Case

Convert Text to Lowercase

Convert Text to Uppercase

Change Text Case

Check Text Palindrome

Create Text Palindrome

Undo Zalgo Text Effect

Generate Zalgo Text

Add Strikethrough to Text

Add Underline to Text

Write Text in Cursive

Write Text in Italic

Write Text in Bold

Generate Tiny Text

Write Text in Subscript

Write Text in Superscript

Remove Text Font

Change Text Font

Convert Text to Image

Remove Line Numbers

Add Line Numbers

Count Text Lines

Remove Duplicate Text Words

Find Duplicate Text Letters

Find Unique Text Letters

Find Duplicate Text Words

Find Unique Text Words

Print Text Statistics

Count Words in Text

Calculate Text Entropy

Find Top Words

Find Top Letters

Find Text Length

Replace Text

Extract Text Fragment

Unwrap Text Lines

Calculate Letter Sum

Randomize Text Paragraphs

Randomize Text Sentences

Randomize Text Lines

Randomize Words in Text

Scramble Words

Randomize Letters in Text

Sort Symbols in Text

Sort Letters in Words

Sort Words in Text

Sort Paragraphs in Text

Sort Sentences in Text

Sort Text Lines

Filter Paragraphs

Filter Sentences

Filter Words

Filter Text Lines

Remove Duplicate Text Lines

Remove Empty Text Lines

Add Symbols Around Letters

Insert Symbols Between Letters

Remove Suffix from Words

Remove Prefix from Words

Add Suffix to Words

Add Prefix to Words

Remove Text Suffix

Remove Text Prefix

Add Text Suffix

Add Text Prefix

Remove Symbols from Around Words

Add Symbols Around Words

Remove Random Symbols from Text

Remove Random Letters from Words

Add Errors to Text

Add Random Letters to Words

Add Random Words to Text

Replace Words in Text

Remove Sentences from Text

Duplicate Sentences in Text

Remove Words from Text

Duplicate Words in Text

Swap Words in Text

Swap Letters in Words

Reverse Paragraphs

Reverse Sentences

Reverse Letters in Words

Word Wrap Text

Justify Text

Unindent Text

Indent Text

Center Text

Right Align Text

Left Align Text

Right Pad Text

Left Pad Text

Trim Text

Slice Text

Truncate Text

Reverse Text

Repeat Text

Join Text

Split Text