Das Motorola S-Record-Dateiformat, oft als SREC oder S19 abgekürzt, ist ein textbasiertes Dateiformat zur Darstellung von Binärdaten, das primär für die Programmierung von Mikrocontrollern, EPROMs und anderen eingebetteten Systemen (Embedded Systems) verwendet wird. Da es sich um ein menschenlesbares Format handelt, ist es relativ einfach zu überprüfen und zu debuggen. Jede Zeile in einer SREC-Datei stellt einen Datensatz dar, der mit dem Zeichen 'S' beginnt, gefolgt von einem Typcode (S0, S1, S2, S3, S5, S7, S8, S9), einer Byte-Anzahl, einer Adresse, den Daten-Bytes und einer Prüfsumme. Der Typcode gibt den Zweck des Datensatzes an: S0 für Header-Informationen, S1/S2/S3 für Datensätze mit unterschiedlichen Adressgrößen (16-Bit, 24-Bit bzw. 32-Bit), S5 für einen Zähldatensatz (veraltet) und S7/S8/S9 für Abschlussdatensätze mit entsprechenden Adressgrößen. Die Daten-Bytes enthalten die eigentlichen Binärdaten, die in das Zielgerät programmiert werden sollen. Die Prüfsumme stellt die Datenintegrität während der Übertragung oder Speicherung sicher. SREC-Dateien werden von zahlreichen Programmierwerkzeugen, Compilern und Debuggern unterstützt, die in der Entwicklung eingebetteter Systeme eingesetzt werden. Die Einfachheit und die weite Verbreitung des Formats haben es zu einem Standard für die Übertragung von Binärdaten auf eingebettete Geräte gemacht.