Scanner Access Now Easy (SANE) is an open-source
application programming interface
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standard that des ...
(API) that provides standardized access to any raster
image scanner
An image scanner (often abbreviated to just scanner) is a device that optically scans images, printed text, handwriting, or an object and converts it to a digital image. The most common type of scanner used in the home and the office is the flatbe ...
hardware (
flatbed scanner,
handheld
A mobile device or handheld device is a computer small enough to hold and operate in hand. Mobile devices are typically battery-powered and possess a flat-panel display and one or more built-in input devices, such as a touchscreen or keypad. Mod ...
scanner, video- and still-cameras,
frame grabber
A frame grabber is an electronic device that captures (i.e., "grabs") individual, digital still frames from an analog video signal or a digital video stream. It is usually employed as a component of a computer vision system, in which video frames ...
s, etc.). The SANE API is
public domain
The public domain (PD) consists of all the creative work to which no Exclusive exclusive intellectual property rights apply. Those rights may have expired, been forfeited, expressly Waiver, waived, or may be inapplicable. Because no one holds ...
. It is commonly used on
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
.
Architecture
SANE differs from
TWAIN in that it is cleanly separated into
frontend and backend
In software development, frontend refers to the presentation layer that users interact with, while backend involves the data management and processing behind the scenes, and full-stack development refers to mastering both. In the client–server mo ...
(user programs and scanner drivers, respectively). Whereas a TWAIN driver handles the
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
as well as communications with the scanner hardware, a SANE driver only provides an
interface with the hardware and describes a number of "options" which drive each scan. These ''options'' specify parameters such as the resolution of the scan, the scan area, colour model, etc. Each ''option'' has a name, and information about its type, units, and range or possible values (e.g., enumerated list). By convention there are several "well known" ''options'' that frontends can supply using convenient
GUI interaction e.g., the scan area ''options'' can be set by dragging a rectangular outline over a preview image. Other options can be presented using GUI elements appropriate to their type e.g., sliders, drop-down lists, etc.
One consequence of this separation is that network scanning is easily implemented with no special handling in either the front ends or back ends. On a host with a scanner, the saned
daemon
A demon is a malevolent supernatural being, evil spirit or fiend in religion, occultism, literature, fiction, mythology and folklore.
Demon, daemon or dæmon may also refer to:
Entertainment Fictional entities
* Daemon (G.I. Joe), a character ...
runs and handles network requests. On client machines a "net" backend (driver) connects to the remote host to fetch the scanner options, and perform previews and scans. The saned daemon acts as a frontend locally, but simply passes requests and data between the network connections and the local scanner. Similarly, the "net" backend passes requests and data between the local frontend and the remote host.
Various types of unsupervised batch scanning are also possible with a minimum of support needed in the backend (driver). Many scanners support the attachment of
document feeders which allow a large number of sheets of paper to be automatically scanned in succession. Using the SANE API, the frontend simply has to "play back" the same set of options for each scan, driving the document feed in between scans to load the next sheet of paper. The frontend only has to obtain the set of options from the user once.
Graphical user interfaces
Several user interfaces have been written to combine SANE with an easy user method of controlling it.
gscan2pdf
gscan2pdf is an interface for scanning documents to PDF on the
GNOME
A gnome () is a mythological creature and diminutive spirit in Renaissance magic and alchemy, introduced by Paracelsus in the 16th century and widely adopted by authors, including those of modern fantasy literature. They are typically depict ...
desktop that uses SANE to communicate with the scanner. It is available under the
GPL. It includes common editing tools, e.g., for rotating or cropping pages. It is also able to perform
OCR using several optional OCR tools and save a searchable PDF. PDF files can be further downsampled upon saving.
Simple Scan
Simple Scan is a simplified GUI using SANE that is intended to be easier to use and better integrate into the
GNOME
A gnome () is a mythological creature and diminutive spirit in Renaissance magic and alchemy, introduced by Paracelsus in the 16th century and widely adopted by authors, including those of modern fantasy literature. They are typically depict ...
desktop than XSane. It was initially written for
Ubuntu
Ubuntu ( ) is a Linux distribution based on Debian and composed primarily of free and open-source software. Developed by the British company Canonical (company), Canonical and a community of contributors under a Meritocracy, meritocratic gover ...
and is maintained by Robert Ancell of
Canonical Ltd. for Linux. Simple Scan was first fielded as part of
Ubuntu 10.04 Lucid Lynx and is also used in
Lubuntu
Lubuntu ( ) is a lightweight Linux distribution based on Ubuntu that uses the LXQt desktop environment in place of GNOME. Lubuntu was originally touted as being "lighter, less resource hungry and more energy-efficient", but now aims to be "a f ...
(until Lubuntu 18.04 LTS) and
Xubuntu. It is now part of the
GNOME
A gnome () is a mythological creature and diminutive spirit in Renaissance magic and alchemy, introduced by Paracelsus in the 16th century and widely adopted by authors, including those of modern fantasy literature. They are typically depict ...
project.
Skanlite

Skanlite is a simple
image scanning
An image scanner (often abbreviated to just scanner) is a device that optically scans images, printed text, handwriting, or an object and converts it to a digital image. The most common type of scanner used in the home and the office is the flatbe ...
application, based on the KSane backend. Kåre Särs is the lead developer. In
KDE 4
KDE Software Compilation 4 (KDE SC 4) was the only series of the so-called KDE Software Compilation (KDE SC), first released in January 2008. The final release was version 4.14.3 in November 2014. It was the follow-up to K Desktop Environment ...
Skanlite replaced Kooka of KDE 3 as default KDE scanning application.
Skanlite is based on libksane, an interface provided by KDE for SANE libraries to control flatbed scanners.
It also works with networked scanners.
SwingSane
SwingSane is a cross-platform,
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
front end for SANE, written and maintained by Roland Quast. It is available for
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
,
Mac OS X
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
and is licensed under the Apache 2.0 License.
The source code for the project can also be adapted for use with an existing
Swing application.
XSane
XSane is a graphical front end for SANE written by Oliver Rauch. It is available for
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
,
UNIX
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
, and
OS/2
OS/2 is a Proprietary software, proprietary computer operating system for x86 and PowerPC based personal computers. It was created and initially developed jointly by IBM and Microsoft, under the leadership of IBM software designer Ed Iacobucci, ...
and is licensed under the GNU General Public License (GPL).
The Windows version only allows a Windows computer to access a scanner that is attached to a Unix, OS/2 or Mac OS X network computer, but not generally to the local Windows computer. Only the "complete" sane-back-ends versions will possibly work with some scanner models connected locally.
See also
*
Image and Scanner Interface Specification (ISIS) – Open industry standard interface
*
TWAIN – Software
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
for local drivers that are bundled with control
GUI
*
Windows Image Acquisition (WIA) – Proprietary API from Microsoft
References
External links
SANE Supported Devices{{FOSS
Device drivers
Image scanning