Man Linux: Main Page and Category List


       jp2a - convert JPEG images to ASCII


       jp2a [ options ] [ filename(s) | URL(s) ]


       jp2a  will  convert JPEG images to ASCII characters.  You can specify a
       mixture of files and URLs.


       -      Read JPEG image from standard input

       --background=light --background=dark
              If you don’t want to mess with --invert all the time,  just  use
              these  instead.   If  you  are using white characters on a black
              display, then use --background=dark, and vice versa.

       -b --border
              Frame output image in a border

              Use the given characters when producing the output ASCII  image.
              Default is "   ...’,;:clodxkO0KXNWM".

              Use ANSI color for text output and CSS color for HTML output.

       -d --debug
              Print  debugging  information  when  using  libcurl  to download
              images from the net.

       -f --term-fit
              Use the largest dimension that  makes  the  image  fit  in  your
              terminal display.

              Use  terminal  display height and calculate width based on image
              aspect ratio.

              Use terminal display width and calculate height based  on  image
              aspect ratio.

       -z --term-zoom
              Use terminal display width and height.

       --fill When  used  with  --html  and  --color,  then  color each output
              character’s background color.  For instance, if you want to  use
              fill-output on a light background, do

              jp2a  --color --html --html-fill --background=light somefile.jpg

              To do the same on a light background:

              jp2a --color --html --html-fill  --background=dark  somefile.jpg

              The default is to have fill disabled.

       -x --flipx
              Flip output image horizontally

       -y --flipy
              Flip output image vertically

              Set  output  height.  If only --height is specified, then output
              width will be calculated according to the source  images  aspect

       -h --help
              Display a short help text

              Converts image to grayscale when using --html or --colors.

       --html Make ASCII output in strict XHTML 1.0, suitable for viewing with
              web browsers.  This is useful with big  output  dimensions,  and
              you want to check the result with a browser with small font.

              Same as --fill.  You should use that option instead.

              Do not use bold text for HTML output.

              Output only the image in HTML codes, leaving out the rest of the
              webpage, so you can construct your own.

              Set fontsize when using --html output.  Default is 4.

              Set HTML output title.

              Write ASCII output to given  filename.   To  explicitly  specify
              standard output, use --output=-.

       -i --invert
              Invert   output  image.   If  you  view  a  picture  with  white
              background, but you are using a display with light characters on
              a dark background, you shoudl invert the image.



              When  converting from RGB to grayscale, use the given weights to
              calculate luminance.  These three floating point values must add
              up  to exactly 1.0.  The default is red=0.2989, green=0.5866 and

              Set output dimension.

       -v --verbose
              Print some verbose information to standard  error  when  reading
              each JPEG image.

              Set  output  width.   If  you only specify the width, the height
              will be calculated automatically.

       -V --version
              Print program version.

       --zoom Sets  output  dimensions  to  your   entire   terminal   window,
              disregarding source image aspect ratio.


       jp2a returns 1 when errors are encountered, zero for no errors.


       Convert  and  print  imagefile.jpg using ASCII characters in 40 columns
       and 20 rows:

       jp2a --size=40x20 imagefile.jpg

       Download an image off the net, convert and print:


       Output picture.jpg and picture2.jpg, each 80x25 characters,  using  the
       characters " ...ooxx@@" for output:

       jp2a --size=80x25 --chars=" ...ooxx@@" picture.jpg picture2.jpg

       Output  image.jpg  using 76 columns, height is automatically calculated
       from aspect ratio of image.jpg

       cat image.jpg | jp2a --width=76 -

       If you use jp2a together with ImageMagick’s  convert(1)  then  you  can
       make  good  use  of  pipes,  and have ImageMagick do all sorts of image
       conversions and effects on the source image.  For example:

       convert somefile.png jpg:- | jp2a - --width=80

       Check out convert(1) options to see  what  you  can  do.   Convert  can
       handle  almost  any  image  format,  so  with  this combination you can
       convert images in e.g. PDF or AVI files to ASCII.

       Although the default build of jp2a includes  automatic  downloading  of
       files  specified  by  URLs,  you  can explicitly download them by using
       curl(1) or wget(1), for example:

       curl -s | convert - jpg:- | jp2a -


       If you have compiled jp2a with libcurl(3), you can download  images  by
       specifying URLs:


       The protocols recognized are ftp, ftps, file, http, https and tftp.

       If  you need more control of the downloading, you should use curl(1) or
       wget(1) and jp2a read the image from standard input.

       jp2a uses pipe and fork to download images using libcurl (i.e., no exec
       or  system  calls)  and  therefore  does  not  worry about malevolently
       formatted URLs.


       You can extract the red channel by doing this:

       jp2a somefile.jpg --red=1.0 --green=0.0 --blue=0.0

       This will calculate luminance based on Y = R*1.0 + G*0.0 + B*0.0.   The
       default values is to use Y = R*0.2989 + G*0.5866 + B*0.1145.


       The   latest  version  of  jp2a  and  news  is  always  available  from


       cjpeg(1), djpeg(1), jpegtran(1), convert(1)


       jp2a does not interpolate when resizing.  If you want  better  quality,
       try  using  convert(1) and convert the source image to the exact output
       dimensions before using jp2a.

       Another issue is that jp2a skips some  X-pixels  along  each  scanline.
       This  gives a less precise output image, and will probably be corrected
       in future versions.


       Christian Stigen Larsen <> --

       jp2a  uses  jpeglib  to  read  JPEG  files.   jpeglib  is  made  by The
       Independent JPEG Group (IJG), who have a page at


       jp2a is distributed under the GNU General Public License v2.