scanimage - scan an image


   scanimage  [-d|--device-name  dev]  [--format format] [-i|--icc-profile
   profile]   [-L|--list-devices]   [-f|--formatted-device-list    format]
   [-b|--batch  [=format]]  [--batch-start  start]  [--batch-count  count]
   [--batch-increment  increment]   [--batch-double]   [--accept-md5-only]
   [-p|--progress]    [-n|--dont-scan]    [-T|--test]   [-A|--all-options]
   [-h|--help] [-v|--verbose]  [-B|--buffer-size  [=size]]  [-V|--version]


   scanimage  is  a  command-line  interface  to control image acquisition
   devices such as flatbed scanners or cameras.  The device is  controlled
   via  command-line  options.   After  command-line processing, scanimage
   normally proceeds to acquire an image.  The image data  is  written  to
   standard  output  in  one of the PNM (portable aNyMaP) formats (PBM for
   black-and-white images, PGM for grayscale images,  and  PPM  for  color
   images)  or  in  TIFF (black-and-white, grayscale or color).  scanimage
   accesses image acquisition devices through the SANE (Scanner Access Now
   Easy)  interface and can thus support any device for which there exists
   a SANE backend (try apropos sane- to get a list of available backends).


   To get a list of devices:

     scanimage -L

   To scan with default settings to the file image.pnm:

     scanimage >image.pnm

   To scan 100x100 mm to the  file  image.tiff  (-x  and  -y  may  not  be
   available with all devices):

     scanimage -x 100 -y 100 --format=tiff >image.tiff

   To print all available options:

     scanimage -h


   Remark:  Parameter  are defined by the backends. So are --mode Gray and
   --mode Grayscale in use.  Please read the backend documentation first.

   Parameters are separated by a blank from single-character options (e.g.
   -d   epson)   and   by   a   "="  from  multi-character  options  (e.g.

   The -d or --device-name options must be followed by a SANE  device-name
   like  `epson:/dev/sg0'  or  `hp:/dev/usbscanner0'.  A (partial) list of
   available devices can be obtained with the --list-devices  option  (see
   below).   If  no device-name is specified explicitly, scanimage reads a
   device-name from the environment variable SANE_DEFAULT_DEVICE.  If this
   variable is not set, scanimage will attempt to open the first available

   The --format format  option  selects  how  image  data  is  written  to
   standard  output.  format can be pnm or tiff.  If --format is not used,
   PNM is written.

   The -i or --icc-profile option is used to include an ICC profile into a
   TIFF file.

   The  -L  or  --list-devices option requests a (partial) list of devices
   that are available.  The list is not complete since some devices may be
   available,  but are not listed in any of the configuration files (which
   are typically stored in directory /etc/sane.d).  This  is  particularly
   the  case  when accessing scanners through the network.  If a device is
   not listed in a configuration file, the only way to access it is by its
   full device name.  You may need to consult your system administrator to
   find out the names of such devices.

   The   -f   or   --formatted-device-list   option   works   similar   to
   --list-devices,  but  requires a format string.  scanimage replaces the
   placeholders %d %v %m %t %i %n with the device name, vendor name, model
   name,  scanner  type,  an  index  number  and newline respectively. The

          scanimage -f  scanner number %i device %d is a  %t,  model  %m,
          produced by %v 

   will produce something like:

          scanner  number 0  device sharp:/dev/sg1 is  a  flatbed scanner,
          model JX250 SCSI, produced by SHARP

   The --batch* options provide the features for scanning documents  using
   document  feeders.   --batch  [format] is used to specify the format of
   the filename that each page will be written to.  Each page  is  written
   out  to  a  single  file.   If  format is not specified, the default of
   out%d.pnm (or out%d.tif for --format tiff) will  be  used.   format  is
   given   as   a   printf   style  string  with  one  integer  parameter.
   --batch-start start selects the page number to start naming files with.
   If   this   option   is  not  given,  the  counter  will  start  at  1.
   --batch-count count specifies the number of pages to attempt  to  scan.
   If  not  given,  scanimage  will  continue  scanning  until the scanner
   returns a state other than OK.  Not all scanners with document  feeders
   signal  when  the  ADF  is empty, use this command to work around them.
   With --batch-increment increment you can change  the  amount  that  the
   number  in the filename is incremented by.  Generally this is used when
   you are scanning double-sided  documents  on  a  single-sided  document
   feeder.   A  specific  command  is provided to aid this: --batch-double
   will automatically set the increment to 2.  --batch-prompt will ask for
   pressing  RETURN  before scanning a page. This can be used for scanning
   multiple pages without an automatic document feeder.

   The --accept-md5-only option only accepts user  authorization  requests
   that  support  MD5 security. The SANE network daemon (saned) is capable
   of doing such requests. See saned(8).

   The -p or --progress option requests that scanimage prints  a  progress
   counter.  It shows how much image data of the current image has already
   been received by scanimage (in percent).

   The -n or --dont-scan option requests  that  scanimage  only  sets  the
   options  provided by the user but doesn't actually perform a scan. This
   option can be used to e.g. turn off the scanner's lamp (if supported by
   the backend).

   The  -T  or --test option requests that scanimage performs a few simple
   sanity tests to make sure the backend works as defined by the SANE  API
   (in particular the sane_read function is exercised by this test).

   The  -A  or  --all-options  option  requests  that  scanimage lists all
   available options exposed the backend, including button  options.   The
   information is printed on standard output and no scan will be done.

   The  -h or --help options request help information.  The information is
   printed on standard output and in this case, no attempt will be made to
   acquire an image.

   The  -v or --verbose options increase the verbosity of the operation of
   scanimage.   The  option  may  be  specified  repeatedly,   each   time
   increasing the verbosity level.

   The  -B or --buffer-size changes the input buffer size from 32KB to the
   number kB specified or 1M.

   The -V or --version option requests that scanimage prints  the  program
   and  package  name, the version number of the SANE distribution that it
   came with and the version of the backend that it loads. Usually  that's
   the  dll  backend. If more information about the version numbers of the
   backends are necessary, the DEBUG variable for the dll backend  can  be
   used. Example: SANE_DEBUG_DLL=3 scanimage -L.

   As  you  might  imagine,  much of the power of scanimage comes from the
   fact that it can control any SANE backend.   Thus,  the  exact  set  of
   command-line  options  depends  on  the  capabilities  of  the selected
   device.  To see the options for a device named  dev,  invoke  scanimage
   via a command-line of the form:

          scanimage --help --device-name dev

   The  documentation for the device-specific options printed by --help is
   best explained with a few examples:

    -l 0..218mm [0]
       Top-left x position of scan area.

          The description above shows that option  -l  expects  an  option
          value  in  the  range  from  0  to  218 mm.  The value in square
          brackets indicates that the current option value is 0  mm.  Most
          backends   provide  similar  geometry  options  for  top-left  y
          position (-t), width (-x) and height of scan-area (-y).

    --brightness -100..100% [0]
       Controls the brightness of the acquired image.

          The description above shows that option --brightness expects  an
          option  value  in the range from -100 to 100 percent.  The value
          in square brackets indicates that the current option value is  0

       Set default values for enhancement controls.

          The  description  above shows that option --default-enhancements
          has no option value.  It should  be  thought  of  as  having  an
          immediate  effect  at  the point of the command-line at which it
          appears.  For example, since this option resets the --brightness
          option,  the  option-pair --brightness 50 --default-enhancements
          would effectively be a no-op.

    --mode Lineart|Gray|Color [Gray]
       Selects the scan mode (e.g., lineart or color).

          The description  above  shows  that  option  --mode  accepts  an
          argument  that  must  be  one  of  the strings Lineart, Gray, or
          Color.  The value in  the  square  bracket  indicates  that  the
          option  is  currently set to Gray.  For convenience, it is legal
          to abbreviate the string values as long as they  remain  unique.
          Also,  the  case  of  the spelling doesn't matter.  For example,
          option setting --mode col is identical to --mode Color.

    --custom-gamma[=(yes|no)] [inactive]
       Determines whether a builtin or a custom gamma-table
       should be used.

          The description above shows that option  --custom-gamma  expects
          either  no  option  value,  a  "yes"  string,  or a "no" string.
          Specifying the option with no value is equivalent to  specifying
          "yes".   The  value in square-brackets indicates that the option
          is not currently active.  That is, attempting to set the  option
          would  result in an error message.  The set of available options
          typically  depends  on  the  settings  of  other  options.   For
          example,  the  --custom-gamma  table might be active only when a
          grayscale or color scan-mode has been requested.

          Note that the --help option is processed only  after  all  other
          options  have been processed.  This makes it possible to see the
          option  settings  for  a  particular  mode  by  specifying   the
          appropriate  mode-options  along  with  the  --help option.  For
          example, the command-line:

          scanimage --help --mode color

          would print the option settings that  are  in  effect  when  the
          color-mode is selected.

    --gamma-table 0..255,...
       Gamma-correction table.  In color mode this option
       equally affects the red, green, and blue channels
       simultaneously (i.e., it is an intensity gamma table).

          The  description  above  shows that option --gamma-table expects
          zero or more values in the range 0 to 255.  For example, a legal
          value  for this option would be "3,4,5,6,7,8,9,10,11,12".  Since
          it's cumbersome to specify long vectors in this form,  the  same
          can  be  expressed  by  the abbreviated form "[0]3-[9]12".  What
          this means is that the first vector element is  set  to  3,  the
          9-th  element  is  set  to  12  and  the  values  in between are
          interpolated linearly.  Of course, it  is  possible  to  specify
          multiple     such     linear     segments.      For     example,
          "[0]3-[2]3-[6]7,[7]10-[9]6"       is        equivalent        to
          "3,3,3,4,5,6,7,10,8,6".  The program gamma4scanimage can be used
          to  generate  such  gamma  tables  (see  gamma4scanimage(1)  for

    --filename <string> [/tmp/input.ppm]
       The filename of the image to be loaded.

          The  description  above is an example of an option that takes an
          arbitrary string value (which happens to be a filename).  Again,
          the value in brackets show that the option is current set to the
          filename /tmp/input.ppm.


          The default device-name.


          This directory holds various configuration files.  For  details,
          please refer to the manual pages listed below.

          This file contains lines of the form


          scanimage  uses  this  information  to answer user authorization
          requests automatically. The file must have 0600  permissions  or
          stricter.  You  should  use  this  file  in conjunction with the
          --accept-md5-only  option  to  avoid  server-side  attacks.  The
          resource  may  contain  any  character  but  is  limited  to 127


   sane(7),   gamma4scanimage(1),   xscanimage(1),   xcam(1),    xsane(1),
   scanadf(1), sane-dll(5), sane-net(5), sane-"backendname"(5)


   David  Mosberger,  Andreas Beck, Gordon Matzigkeit, Caskey Dickson, and
   many  others.   For  questions  and  comments  contact  the  sane-devel
   mailinglist (see


   For  vector  options, the help output currently has no indication as to
   how many elements a vector-value should have.

                              10 Jul 2008                     scanimage(1)


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.