OnWorks favicon

jp2a - Online in the Cloud

Run jp2a in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command jp2a that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



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


- 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 "

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 --output=dark.html

To do the same on a light background:

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

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 ratio.

-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

-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



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 blue=0.1145.

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

-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:

jp2a http://www.google.com/intl/en/logos/easter_logo.jpg

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

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 http://foo.bar/image.jpg | convert - jpg:- | jp2a -


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

jp2a https://user:[email protected]/bar.jpg

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 http://jp2a.sourceforge.net

Use jp2a online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

Linux commands