Drop in an image, an SVG, PNG, JPG, WebP or GIF, and get it back as animated ascii in its own colours. A logo is drawn the way the library's logos are, each cell the character whose shape best matches its edge there; a photo is shaded, each cell as dense as the image is bright there. A plain background is left out.
It all happens in your browser. The file is never uploaded, and nothing is sent anywhere.
drop an image here
svg, png, jpg, webp or gif
or or paste one
settings
Logo draws each edge with the character that matches its shape, as the library's logos are drawn. Shade picks each character by how bright
the image is there, from . to @, which suits a photo; an image with no plain background starts in shade.
A company or a language glints, as the library's logos do; a distro has a scan line run down it. The width is the most columns it may take; a tall logo takes fewer, since a piece is at most 32 rows.
embed it
For any page, with no install and no build step: it loads mount.js from ascii.rest and plays the logo inlined in it, in colour on a canvas, or in one ink in a pre while this page shows one ink. It reads the page's text colour to tell a light page from a dark one, and holds still for anyone who prefers reduced motion.
readme
Two animated SVGs, one loop of the glint or the scan, which play in a GitHub README with no script. Put them beside the README; GitHub shows the dark one in its dark theme.
logo.ts
A piece in the library's own format. To add it, put it in src/pieces/, run npm run gen and npm run check, and open a pull request, as CONTRIBUTING.md says.