dither
reedAn ordered Bayer dither over a layered value field. Crisp, print-like, tonal.
Every pattern samples one seeded value field. Switch the lens, keep the seed.
An ordered Bayer dither over a layered value field. Crisp, print-like, tonal.
The same field sampled into monospace glyphs. Reads like a quiet data console.
Seven stacked wave layers, dark to light. Soft horizons over the pond.
A small collection of stable seeds. Hover any mark to bring it to life.
Change the seed, pattern, palette and format, then export a circular avatar or a 1200×630 OG image.
Everything needed to use Ribbit as a deterministic avatar generator or a generative media engine.
Yes. Ribbit is open source under the MIT license and can be used in personal and commercial projects.
No. Marks render locally in Canvas or SVG. There is no image API, upload pipeline or remote asset to fetch.
Yes. toSVG returns a standalone SVG on the server or in the browser. PNG and WebM helpers need browser Canvas APIs.
Ribbit hashes a string or number into a deterministic seed. The same seed, options and package version render the same mark every time.
Yes. Ribbit ships compact avatar adapters for React 18+ and Svelte 5, plus a framework-agnostic Canvas engine.