Ascii Image

New

A photo rebuilt from text characters, ready to copy

$ npx @hritik-sharmaa/repeat-ui add image-ascii-image
Category
Image
Added
Nov 1, 2026
Version
1.0.0
Packages
None
Flavors
TS · JS · Tailwind · CSS
Live preview
Customize
420px
300px
90
1.3×
120px
24px
import ImageAsciiImage from "@/components/repeat-ui/image-ascii-image/preview";

<ImageAsciiImage characters=" .:-=+*#%@" />

Installation

  1. Run the command

    Adds the files and installs any packages they need. Works with npm, pnpm, yarn and bun.

    $ npx @hritik-sharmaa/repeat-ui add image-ascii-image --variant ts-tailwind
  2. Use it

    The files are in components/repeat-ui/image-ascii-image/.

    import ImageAsciiImage from "@/components/repeat-ui/image-ascii-image/preview";
    
    export default function Page() {
      return <ImageAsciiImage />;
    }

Props

PropTypeDefaultDescriptionOptions
srcstringMountain photoImage URL; same-origin or served with CORS headers.-
altstring""Image description for screen readers.-
widthnumber420Width in pixels.-
heightnumber300Height in pixels.-
columnsnumber90Characters per row; more is finer.-
charactersstring" .:-=+*#%@"Characters from darkest to brightest.-
invertbooleanfalseSwap the ramp, for light backgrounds.-
colorMode"mono" | "color""mono"One colour, or each character in its pixel's colour.mono | color
colorstring"#d4d4d4"Character colour in mono mode.-
accentColorstring"#84cc16"Colour of the characters under the pointer.-
backgroundstring"#0a0a0a"Background colour.-
contrastnumber1.3Contrast before mapping to characters.-
lensSizenumber120Diameter of the bright area around the pointer; 0 turns it off.-
showCopybooleantrueShow a button that copies the art as text.-
radiusnumber24Corner radius in pixels.-
classNamestring""Extra classes for the root element.-

More image

See all