how to install

January 13, 2026 · View on GitHub

img2irc (1.3.1)

img2irc is a premiere command-line utility which converts images to irc/ansi art, with a lot of post-processing filters

$ img2irc https://i.imgur.com/qP1uBCK.png

  img2irc block example  

how to install

  • installs img2irc to /usr/local/bin

    curl -sL https://github.com/waveplate/img2irc/releases/download/v1.3.1/img2irc-1.3.1-linux-x86_64.tar.gz | sudo tar -xzf - --strip-components=1 -C /usr/local/bin img2irc-1.3.1/img2irc
    

    statically linked with musl, works on all x86_64 linux platforms

  • install with yay (arch linux)

    yay -S img2irc-bin
    

    or

    yay -S img2irc
    

    if you prefer to compile it yourself

Note

if you like this project, i would appreciate you giving it a vote on the aur!


no sixel, no problem

mandarin duck, ansi24. 80px -- when images are rendered in 24-bit colour, they can look quite good even at small sizes


font installation (recommended)

certain glyph types (triangle, corner, geometric, box, legacy) requuire obscure unicode glyphs not found it most fonts. if your output looks broken, try installing cascadia code -- it's a great font regardless. full, half, quarter, and eighth blocks typically work without extra fonts.

if you use linux, you can configuree your system to only use cascadia code as a fallback, i.e., when your preferred font is missing a unicode glyph. check out this guide for more info. it's aimed at arch, but the general idea is the same for all distros

debian/ubuntu

cascadia code is available in debian/ubuntu via the fonts-cascadia-code package:

sudo apt install fonts-cascadia-code

arch linux

on arch linux, cascadia code can be installed from the community repository:

sudo pacman -S ttf-cascadia-code

windows

  1. download the latest cascadia code release from github.
  2. extract the zip archive.
  3. install the .ttf or .otf files you need by right-clicking → install, or copy them to c:\windows\fonts.

usage

img2irc <URL or PATH> [OPTIONS]

optiondescriptiondefault value
imageimage url or file pathrequired
-w, --widthoutput image width in columnsauto
-H, --heightoutput image height in rowsauto
--scalescaling factors (x:y, e.g., "2:2")none
--cropcrop image ("x1,y1,x2,y2")none
--filtersampling filternearest
--rotaterotate degrees0
--fliphflip horizontalfalse
--flipvflip verticalfalse

colours rendering modes

optiondescriptiondefaultoptions
--rendercolour rendering modeansiirc, ansi, ansi24

irc mode has 99 colours, (6.62-bit)

ansi mode has 256 colours (8-bit)

ansi24 has 16777216 colours (24-bit)

pixel rendering modes

optiondescriptiondefaultoptions (comma-separated)
--brailleuse braille pixelsfalseN/A
--blocks[=types]use block pixels of the provided typesfull, half, quarter, eighth, triangle, corner, geometric, box, legacy

braille mode

`--braille$ \text{uses} 2 \times 4 \text{braille} \text{dot} \text{patterns}, \text{doubling} \text{horizontal} \text{and} \text{quadrupling} \text{vertical} \text{resolution}

\text{block} \text{modes}

\text{type}\text{description}\text{unicode} \text{range}
$full`full block0x20 + 0x2588
halfhalf block0x2580-0x2590
quarterquarter block0x2596-0x259F
eightheighth block0x2581-0x2595
triangletriangle shapes0x25B2-0x25C0
cornercorner triangles0x25E2-0x25E5
geometricgeometric patterns0x25A0-0x25FF
boxbox-drawing glyphs0x2500-0x257F
legacylegacy block styles0x1FB00-0x1FBFF

must be provided as a comma-delimited string

specifying --blocks with no value uses all available glyph types

full only uses the ASCII space and fullblock glyph

half increases the vertical resolution twofold

quarter increases both vertical and horizontal resolution twofold

eighth increases resolution in one axis at a time up to eightfold

triangle uses triangle shapes

corner uses corner triangle shapes

geometric uses some geometric shapes

box uses some box-drawing characters

legacy uses some legacy geometric shapes

see src/chars.rs for the actual glyphs and bitmaps or read utils/README.md for information on how to generate a custom chars.rs file

image processing options

optiondescriptiondefault value
-b, --brightnessadjust brightness (0 = no change)0.0
-c, --contrastadjust contrast (0 = no change)0.0
-g, --gammaadjust gamma (0 to 255)0.0
-s, --saturationadjust saturation (0 = no change)0.0
-u, --huerotate hue (0 to 360)0.0
-i, --invertcolors are inverted, opposite on the color wheelfalse
-d, --ditherdithering (1 to 8)0
-B, --luma-brightnessadjust luma brightness (braille only)0.0
-C, --luma-contrastadjust luma contrast (braille only)0.0
-G, --luma-gammaadjust luma gamma (braille only)0.0
-S, --luma-saturationadjust luma saturation (braille only)0.0
-I, --luma-invertluminance is inverted (braille only)false
--colorspacecolourspace (hsl, hsv, hsluv, lch)hsv
--grayscaleconverts image to black and whitefalse
--nograyscaleexclude grayscale when picking nearest colour in palette (unless already grayscale)false
--pixelizepixelize pixel size0
--boxblursimple average of all the neighboring pixels surrounding onefalse
--gaussianblurgaussian blur radius0
--oiloil filter ("[radius],[intensity]")none
--halftonemade up of small dots creating a continuous-tone illusionfalse
--sepiabrownish, aged appearance like old photographsfalse
--normalizeadjusts brightness and contrast for better image qualityfalse
--noiserandom variations in brightness and color like film grainfalse
--embossgives a raised, 3d appearancefalse
--identityno modifications, unchanged imagefalse
--laplaceenhances edges and boundaries in an imagefalse
--denoisereduces noise for a cleaner, clearer imagefalse
--sharpenincreases clarity and definition, making edges and details more distinctfalse
--calicool blue tone with increased contrastfalse
--dramatichigh contrast and vivid colors for a dramatic effectfalse
--firenzewarm, earthy tones reminiscent of tuscan landscapesfalse
--goldenwarm, golden glow like sunset lightfalse
--lixhigh-contrast black and white appearance with increased sharpnessfalse
--lofilow-fidelity, retro appearance like old photographs or filmfalse
--neueclean, modern appearance with neutral colors and simple designfalse
--obsidiandark, monochromatic appearance with black and gray shadesfalse
--pastelpinksoft, delicate pink tint like pastel colorsfalse
--ryobright, high-contrast appearance with vivid colors and sharp detailsfalse
--frostedglassblurred, frosted appearance as if viewed through semi-transparent surfacefalse
--solarizestrange, otherworldly appearance with inverted colors and surreal atmospherefalse
--edgedetectionhighlights edges and boundaries in an imagefalse

img2irc example 2