# dollcode [](https://github.com/isolyth/dollcode-ts) January 25, 2026 project utilities A base-3 text encoder using Unicode block characters. Each character's codepoint is encoded using digits 3 mapped to ▖▘▌. Encode Decode Text to encode Output Copy to clipboard ▶ Custom characters ## About This is a recreation of the text encoding functionality from the original dollcode site (dollcode.v01dlabs.sh) that no longer exists. It was reverse-engineered using: - The [dollcode.rs](https://codeberg.org/ember-ana/dollcode.rs) Rust crate (which only supports number encoding) - Information from [noe.sh/dollcode](https://noe.sh/dollcode) about the base-3 encoding system - Analysis of example encoded strings to determine the text encoding algorithm Dollcode is a trinary (base-3) encoding system using Unicode block characters. The original site supported encoding both pure numbers and text, but used different encoding schemes for each. This implementation focuses on the text-compatible version. ## How It Works - Each character is converted to its Unicode codepoint - The codepoint is encoded using base-3 with digits {1,2,3} - Digits are mapped to characters: 1→▖, 2→▘, 3→▌ - Character groups are separated by zero-width joiners (U+200D) Example: Hello → ▘▖▘▌‍▌▖▌▘‍▌▘▘▌‍▌▘▘▌‍▌▘▌▌‍ ## Technical Details - Default Characters: ▖ (U+2596), ▘ (U+2598), ▌ (U+258C) - Default Separator: Zero-width joiner (U+200D) - Encoding: Base-3 system with digits {1,2,3} instead of {0,1,2} - Character Order: Most significant bit first (MSB-first) ## Differences from Number-Only Encoding The Rust crate at [dollcode.rs](https://codeberg.org/ember-ana/dollcode.rs) implements number-only encoding, which produces different output than text encoding. This implementation focuses on the text-compatible version that was available on the original dollcode.v01dlabs.sh site. [LLM-readable markdown version of this page](/projects/dollcode/llms.txt)