PRO

Interactive ASCII Logo

A logo sampled onto a dot grid and rendered as flickering ASCII glyphs on a canvas. The cursor shoves nearby characters outward with spring physics, so the wordmark scatters and reforms as you move through it. No dependencies.

Component
Install
npx shadcn@latest add https://ui.aryank.space/r/ascii-logo.json

Installs from ui.aryank.space. To add it by hand, copy the files in Usage below, or register the @compronents namespace via the docs.

Files

API
PropTypeDefaultDescription
srcstring"https://ui.aryank.space/assets/ascii-logo/logo.png"Logo image, sampled into glyphs. Same-origin or CORS-enabled.
backgroundstring"#0f0f0f"Frame background color.
gridColorstring"#171717"Resting dot-grid color.
charColorstring"#dadada"Lit glyph color.
charsstring".:+*#%@0369"Glyph ramp, dark to bright.
thresholdnumber0.5Brightness (0–1) a pixel must clear to become a glyph.
cellSize / cellGapnumber8 / 2Glyph cell size and gap in px on desktop.
mobileCellSize / mobileCellGapnumber3 / 1Cell size and gap below mobileBreakpoint.
mobileBreakpointnumber768Viewport width under which the denser mobile grid kicks in.
pushRadiusnumber5Cursor influence radius, in cells.
pushForcenumber30Strength of the cursor push.
springnumber0.025Spring stiffness pulling glyphs back home.
dampingnumber0.5Velocity damping per frame.
flickerMsnumber50Interval at which lit glyphs reshuffle their character.
logoScalenumber75Logo width as a percentage of the container.
Customize
charColor / gridColor / backgroundcolor

Lit glyphs, the resting dot grid, and the frame backdrop.

charstext

Glyph ramp, ordered dark to bright.

pushForcetext

How hard the cursor scatters nearby glyphs.

srcasset-url

Sampled wordmark, hosted through https://ui.aryank.space/assets/ascii-logo/logo.png.

Dependencies
None.