Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
scanimage(1)             SANE Scanner Access Now Easy             scanimage(1)

       scanimage - scan an image

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

       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

       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 /usr/local/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 0.
       --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 -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)


Want to link to this manual page? Use this URL:

home | help