Das Motorola S-Record-Dateiformat, oft abgekürzt als SREC oder S19, ist ein textbasiertes Dateiformat zur Darstellung von Binärdaten, das hauptsächlich zur Programmierung von Mikrocontrollern, EPROMs und anderen eingebetteten Systemen verwendet wird. Es handelt sich um ein für Menschen lesbares Format, was die Inspektion und das Debugging relativ einfach macht. Jede Zeile in einer SREC-Datei repräsentiert einen Datensatz (Record), beginnend mit dem Zeichen 'S', gefolgt von einem Typencode (S0, S1, S2, S3, S5, S7, S8, S9), einer Byte-Anzahl, einer Adresse, den Datenbytes und einer Prüfsumme (Checksum). Der Typencode gibt den Zweck des Datensatzes an: S0 für Kopfzeileninformationen, S1/S2/S3 für Daten-Datensätze mit unterschiedlichen Adressgrößen (jeweils 16-Bit, 24-Bit und 32-Bit), S5 für einen Zähl-Datensatz (veraltet), und S7/S8/S9 für Terminierungs-Datensätze mit den entsprechenden Adressgrößen. Die Datenbytes enthalten die eigentlichen Binärdaten, die in das Zielgerät programmiert werden sollen. Die Prüfsumme gewährleistet die Datenintegrität während der Übertragung oder Speicherung. SREC-Dateien werden von verschiedenen Programmierwerkzeugen, Compilern und Debuggern, die in der Entwicklung eingebetteter Systeme verwendet werden, weitgehend unterstützt. Die Einfachheit des Formats und seine weite Verbreitung haben es zu einem Standard für die Übertragung von Binärdaten an eingebettete Geräte gemacht.