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, principalement destiné à 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 le rend relativement facile à inspecter et à déboguer manuellement. 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 (byte count), d'une adresse, des octets de données (data bytes) et d'une somme de contrôle (checksum). Le code de type indique l'objectif 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. 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, ce qui en fait un standard pour le transfert de données binaires vers des dispositifs cibles.