A name in. A glyph out.
Always the same one.
HashGlyph hashes a word into a constrained pixel grammar to mint a compact digital signature: part monogram, part favicon, part terminal-era artifact. Same seed, same mark, forever.
Forge your glyph
Seed is empty after normalization. Try real characters.
⚠ Low contrast. This may be hard to read at favicon sizes.
blake3 / 64 ⚠ Long link. The code gets dense and may be harder to scan with the centered glyph.
Switch the visual grammar
How it works
The seed is normalized, combined with a frozen algorithm id, and hashed. The resulting bits are read most-significant-first and poured into a constrained 9×9 visual grammar. A fixed brand core keeps the mark recognizable; the hash only drives a few accents. The output is pure, deterministic, and reproducible anywhere.
Same in, same out
One seed maps to exactly one mark, forever. No timestamps, no randomness.
Not an identicon
A fixed brand core makes it read as a logo; the hash only paints the accents.
Everywhere
Crisp from 16px favicons to wall-sized SVG. Generation runs entirely in your browser.
Versioned forever
Grammars are pinned with a version suffix. Your logo never changes under you.
Pick your algorithm
HashGlyph is pluggable on two axes: 17 hash functions × 5 visual grammars = 85 combinations. BLAKE3 + Core + Accents is the default that mints each mark; the rest are yours to explore.
| Grammar | Style | blake3(hashglyph) |
|---|---|---|
| Core + Accents | core-accents-v1 | bfd24b02875f… |
| Mirror Identicon | mirror-identicon-v1 | 860e99e76ac4… |
| Symmetric Mask | symmetric-mask-v1 | 5f089a786632… |
| Quad Fold | quad-fold-v1 | efb485277de2… |
| Cellular Automata | cellular-automata-v1 | 3df2859b18d4… |
Plain-English glossary
Every option in the studio, explained in one line — with a link to the source so you can read more. None of it changes your mark: a fixed (hash, grammar) pair is frozen forever.
Hashes
blake3BLAKE3- Fast modern hash that can stretch to any output length on its own. HashGlyph’s default — it mints the canonical mark. BLAKE3 spec ↗
blake2bBLAKE2b- Fast 64-bit-tuned hash. The workhorse inside Zcash, libsodium, and the Argon2 password hash. blake2.net ↗
blake2sBLAKE2s- BLAKE2 tuned for 32-bit and smaller devices. Same family as BLAKE2b, narrower state. blake2.net ↗
sha256SHA-256- The SHA-2 standard that secures TLS, Bitcoin, and code signing. The default “SHA” most people mean. NIST FIPS 180-4 ↗
sha224SHA-224- SHA-256 truncated to 224 bits. Same engine, shorter digest. NIST FIPS 180-4 ↗
sha384SHA-384- SHA-512 truncated to 384 bits. Common in TLS certificates. NIST FIPS 180-4 ↗
sha512SHA-512- The wide SHA-2 variant — faster than SHA-256 on 64-bit CPUs. NIST FIPS 180-4 ↗
sha512-256SHA-512/256- SHA-512 cut down to 256 bits. Fast on 64-bit machines, immune to length-extension. NIST FIPS 180-4 ↗
sha3-256SHA3-256- The newer SHA-3 standard (built on Keccak), designed differently from SHA-2 as a backup. NIST FIPS 202 ↗
sha3-512SHA3-512- The wide SHA-3 variant with a larger security margin. NIST FIPS 202 ↗
shake128SHAKE128- A SHA-3 “XOF” — like SHA-3 but can emit as many bytes as you ask for. NIST FIPS 202 ↗
shake256SHAKE256- The wider SHA-3 XOF, with more security headroom than SHAKE128. NIST FIPS 202 ↗
keccak256Keccak-256- Original-padding Keccak — the exact hash Ethereum uses everywhere. keccak.team ↗
keccak512Keccak-512- The wide variant of original-padding Keccak. keccak.team ↗
ripemd160RIPEMD-160- A 160-bit hash from the ’90s, still used to shorten Bitcoin and Ethereum addresses. RIPEMD-160 ↗
sha1SHA-1- The old 160-bit web hash. Broken for security (real collisions exist) but still git’s object id. Here for nostalgia. SHAttered ↗
md5MD5- The classic 128-bit checksum. Broken for security — fine for non-security IDs, included for recognizability. RFC 1321 ↗
Visual grammars
core-accents-v1Core + Accents- The default look: a fixed brand shell with a handful of pixels painted by the hash. Reads as a logo, not noise. source ↗
mirror-identicon-v1Mirror Identicon- Left/right-mirrored dots, like the classic GitHub identicon. source ↗
symmetric-mask-v1Symmetric Mask- Hash pixels clipped to a diamond mask, so it always lands as a clean badge silhouette. source ↗
quad-fold-v1Quad Fold- One corner mirrored four ways into a balanced, kaleidoscopic ornament. source ↗
cellular-automata-v1Cellular Automata- A Rule-90 pattern grown row by row from a hashed starting line — the nerdy one. source ↗
Concepts under the hood
- Seed normalization (NFKC)
- Before hashing we Unicode-normalize, trim, and lowercase your text, so visually identical names map to the same glyph. Unicode UAX #15 ↗
- Domain separation
- We prefix the grammar id before hashing (grammar-id|name). Same name, different grammar → a genuinely different mark. determinism contract ↗
- XOF (extendable output)
- A hash that emits any number of bytes you ask for. BLAKE3 and SHAKE are XOFs, so they fill the grid natively. NIST FIPS 202 ↗
- Counter expansion (HKDF-style)
- Fixed-length hashes can’t stretch, so we re-hash with a rising counter and concatenate until the grid is full. RFC 5869 (HKDF) ↗
- Bitstream (MSB-first)
- The digest is read one bit at a time, most-significant bit first; each bit decides whether a pixel is on. how it works ↗
- QR mode
- Optionally encodes a link as a standard QR code with your glyph centered inside it. QR standard ↗