Motorola S-Record 파일 형식은 종종 SREC 또는 S19로 축약되며, 주로 마이크로컨트롤러(microcontrollers), EPROM 및 기타 임베디드 시스템(embedded systems)을 프로그래밍하기 위한 바이너리 데이터(binary data)를 나타내는 데 사용되는 텍스트 기반 파일 형식입니다. 이 형식은 사람이 읽을 수 있는(human-readable) 구조를 가지고 있어 검사 및 디버깅이 비교적 용이합니다. SREC 파일의 각 줄은 하나의 레코드(record)를 나타내며, 문자 'S'로 시작하고 그 뒤에 타입 코드(type code, S0, S1, S2, S3, S5, S7, S8, S9), 바이트 수(byte count), 주소(address), 데이터 바이트(data bytes), 그리고 체크섬(checksum)이 순서대로 포함됩니다. 타입 코드는 레코드의 목적을 명확히 합니다. S0은 헤더 정보(header information)를 나타내며, S1, S2, S3는 각각 16비트, 24비트, 32비트 주소 크기를 가진 데이터 레코드입니다. S5는 카운트 레코드(현재는 사용되지 않음/deprecated)이며, S7, S8, S9는 해당 주소 크기에 맞는 종료 레코드(termination records)입니다. 데이터 바이트는 대상 장치에 실제로 프로그래밍될 바이너리 데이터를 담고 있으며, 체크섬은 전송 또는 저장 과정에서 데이터 무결성(data integrity)을 보장하는 역할을 합니다. SREC 파일은 임베디드 시스템 개발에 사용되는 다양한 프로그래밍 도구, 컴파일러 및 디버거에서 광범위하게 지원됩니다. 이 형식의 단순성과 광범위한 채택 덕분에 임베디드 장치로 바이너리 데이터를 전송하는 표준으로 자리 잡았습니다.