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 pour la programmation de microcontrôleurs, d'EPROM et d'autres systèmes embarqués. Il s'agit d'un format lisible par l'homme, ce qui facilite relativement son inspection et son débogage. Chaque ligne d'un fichier SREC représente un enregistrement commençant par le caractère 'S', suivi d'un code de type (S0, S1, S2, S3, S5, S7, S8, S9), d'un nombre d'octets, d'une adresse, des octets de données 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, 24 et 32 bits), S5 pour un enregistrement de comptage (obsolète), et S7/S8/S9 pour les enregistrements de terminaison avec les tailles d'adresse correspondantes. Les octets de données contiennent les données binaires réelles à programmer dans le périphérique cible. La somme de contrôle garantit l'intégrité des données lors de la transmission ou du 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. La simplicité du format et son adoption généralisée en ont fait un standard pour le transfert de données binaires vers des périphériques embarqués.