Le format de fichier Motorola S-Record, souvent abrégé en SREC ou S19, est un format de fichier textuel utilisé pour représenter des données binaires. Il est principalement employé pour la programmation de microcontrôleurs, d'EPROMs (mémoires mortes programmables et effaçables) et d'autres systèmes embarqués. C'est un format lisible par l'homme, ce qui facilite grandement son inspection et le débogage. Chaque ligne d'un fichier SREC représente un enregistrement (record), commençant par le caractère 'S' suivi d'un code de type (S0, S1, S2, S3, S5, S7, S8, S9), d'un compte d'octets, d'une adresse, des octets de données et d'une somme de contrôle (checksum). Le code de type indique la fonction de l'enregistrement : S0 pour les informations d'en-tête, S1/S2/S3 pour les enregistrements de données avec des tailles d'adresse variables (respectivement 16 bits, 24 bits et 32 bits), S5 pour un enregistrement de comptage (considéré comme obsolète), et S7/S8/S9 pour les enregistrements de terminaison avec les tailles d'adresse correspondantes. Les octets de données contiennent les informations binaires réelles destinées à être programmées dans le dispositif cible. La somme de contrôle assure l'intégrité des données pendant la transmission ou le stockage. Les fichiers SREC sont largement pris en charge par divers outils de programmation, compilateurs et débogueurs utilisés dans le développement de systèmes embarqués, faisant de ce format une norme établie pour le transfert de données binaires.