---
name: "img2txt"
section: "1"
platform: "linux"
package: "libcaca"
version: "0.99.beta20-7"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/img2txt"
---

# img2txt(1)

convert images to various text-based coloured files

## NAME

img2txt - convert images to various text-based coloured files

## SYNOPSIS

**img2txt** \[ **-W** *width* \] \[ **-H** *height* \] \[ **-x** *font-width* \] \[ **-y** *font-height* \]

-

   \[ **-b** *brightness* \] \[ **-c** *contrast* \] \[ **-g** *gamma* \]

-

   \[ **-d** *dither* \] \[ **-f** *format* \]  *FILE*

## DESCRIPTION

**img2txt** converts images to colour ASCII characters and outputs them to text-based coloured files.

**img2txt** can load the most widespread image formats: PNG, JPEG, GIF, PNG, BMP etc (see  **NOTES** for details). By default the output text is 60 columns wide, and the line count is  computed accordingly to respect aspect ratio of original file.  The default output format is standard ANSI coloured text.

## OPTIONS

- **-W, --width=\<width\>**

  Change output column count. If not given, the default is set to 60.

- **-H, --height=\<height\>**

  Change output line count. If not given, the height is computed to match correct aspect ratio.

- **-x, --font-width=\<width\>**

  Change output font width. If not given, the default is set to 6. This value will be used for computing aspect ratio.

- **-y, --font-height=\<height\>**

  Change output font height. If not given, the default is set to 10. This value will be used for computing aspect ratio.

- **-b, --brightness=\<brightness\>**

  Change image brightness. Default to 1.0.

- **-c, --contrast=\<contrast\>**

  Change image contrast. Default to 1.0.

- **-g, --gamma=\<gamma\>**

  Change image gamma. Default to 1.0.

- **-d, --dither=\<dither\>**

  Change dithering algorithm. This can be one of the following (default to fstein) :\
     none     : Nearest color\
     ordered2 : Ordered 2x2\
     ordered4 : Ordered 4x4\
     ordered8 : Ordered 8x8\
     random   : Random\
     fstein   : Floyd Steinberg

- **-f, --format=\<format\>**

  Change output format. This can be one of the following (default to ansi) :\
     ansi   : coloured ANSI \
     caca   : internal libcaca format\
     utf8   : UTF8 with CR\
     utf8cr : UTF8 with CRLF (MS Windows)\
     html   : HTML with CSS and DIV support\
     html3  : Pure HTML3 with tables\
     irc    : IRC with ctrl-k codes\
     bbfr   : BBCode (French)\
     ps     : Postscript\
     svg    : Scalable Vector Graphics\
     tga    : Targa Image

- **-h, --help**

  Display help message and exit.

- **-v, --version**

  Display version of the program and exit.

## EXAMPLES

img2txt hello.jpg \> hello.ans

img2txt --width=40 --format=svg hello.jpg \> tinyhello.svg

## NOTES

Setting both column and line count (using  --width and --height) will let you choose the exact output size without taking aspect ratio in account.

You must compile libcaca package with support of *Imlib2* to be able to load a wide variety of image formats. Otherwise you will only  be able to load regular BMP files.

## SEE ALSO

[cacaview(1)](/cacaview/1.md)

## AUTHOR

This manual page was written by Sam Hocevar \<sam@hocevar.net\> and Jean-Yves Lamoureux \<jylam@lnxscene.org\>.
