Il formato di file Motorola S-Record, spesso abbreviato in SREC o S19, è un formato di file basato su testo utilizzato per rappresentare dati binari, principalmente per la programmazione di microcontrollori, EPROM e altri sistemi embedded. È un formato leggibile dall'uomo, rendendolo relativamente facile da ispezionare e sottoporre a debug. Ogni riga in un file SREC rappresenta un record, che inizia con il carattere 'S' seguito da un codice di tipo (S0, S1, S2, S3, S5, S7, S8, S9), un conteggio di byte, un indirizzo, i byte di dati e un checksum. Il codice di tipo indica lo scopo del record: S0 per le informazioni di intestazione (header), S1/S2/S3 per i record di dati con dimensioni di indirizzo variabili (rispettivamente a 16, 24 e 32 bit), S5 per un record di conteggio (deprecato), e S7/S8/S9 per i record di terminazione con le corrispondenti dimensioni di indirizzo. I byte di dati contengono i dati binari effettivi da programmare nel dispositivo target. Il checksum assicura l'integrità dei dati durante la trasmissione o l'archiviazione. I file SREC sono ampiamente supportati da vari strumenti di programmazione, compilatori e debugger utilizzati nello sviluppo di sistemi embedded. La semplicità del formato e la sua ampia adozione lo hanno reso uno standard per il trasferimento di dati binari ai dispositivi embedded.