TWAIN ist von verschiedenen Firmen entwickelt worden, diese Funktion wird von vielen Computern unterstützt und dient zum Austausch von Daten zwischen Bildeingabegeräten, wie zum Beispiel Digitalkameras oder Scannern. Ein Programm, das eine TWAIN Schnittstelle besitzt, kann Daten von jedem möglichem Bildeingabegerät entgegennehmen. TWAIN besteht aus drei unterschiedlichen Teilen, die jeweils eine Funktion erfüllen. Die Datenquelle, das Anwendungsprogramm und der Quellmanager sind die Bestandteile von TWAIN. Die Datenquelle kann ein Scanner oder ein Speichermedium sein, das Anwendungsprogramm könnte ein Bildverarbeitungsprogramm sein und der Quellmanager ist Teil des Betriebssystems, er synchronisiert die vielleicht auch mehrmals vorhandenen Datenquellen und Anwendungsprogramme.