S-record
データフィールド - データフィールドの上限を32バイト (64キャラクタ) とすることを推奨するドキュメントがある。S0、S1、S2およびS3レコードのデータ長の下限は0である。データの上限はアドレスフィールドの長さによって変わる。バイト数フィールドは255 (0xFF) を超える値をとらないため、データのバイト数の上限は255バイトからチェックサムフィールドの1バイトを引き、さらにアドレスフィールドのバイト数を引いたものになる。S0およびS1レコードはデータの上限を252バイトとする。S2レコードはデータの上限を251バイトとする。S3レコードはデータの上限を250バイトとする。
コメント - SRECファイルフォーマットはコメントをサポートしない。"S"で始まらない行や、チェックサムフィールドより後ろのテキストすべてを無視するソフトウェアもある。このような無視されるテキストがコメントとして使用される場合もあるが、これには互換性がない。例えば、CCS PICコンパイラには、Intel HEXファイルの最上部または最下部に";"コメント行を配置する機能がある。そのマニュアルによると、一部のプログラマではHEXファイルの最上部にコメントがあると都合が悪いらしく、これを理由にそのコンパイラにはHEXファイルの最下部にコメントを配置するオプションが存在する。
レコード長 - UNIXのマニュアルには、S-recordファイルは特別なフォーマットのASCII文字列で構成され、1つのSレコードの長さは78バイト以下になるとある。このマニュアルではさらに、データフィールドのキャラクタ数を64 (すなわち32バイト) に制限している。16進キャラクタ8つのアドレスと、64キャラクタのデータのあるレコードのキャラクタ数の合計は78 (2 + 2 + 8 + 64 + 2) になる (この数は改行キャラクタや文字列終端キャラクタの数を含めていない)。このようなファイルは80キャラクタ幅のテレプリンタで印刷できる。マニュアルページの下部の註には、このレコード長の制限は一般的にも適用されると考えるべきではないとある。この制限を無視する場合、S-recordの最大のキャラクタ数は514となる。レコードタイプフィールドで2キャラクタ、バイト数フィールドで2キャラクタ (値は0xFF = 255となる)、アドレスフィールド、データフィールド、チェックサムフィールドで2×255キャラクタが占められる。改行キャラクタや文字列終端キャラクタのためのスペースも必要になる可能性がある。キャラクタ数が多いと問題がある。srec_catというツールのマニュアルによれば、S-recordフォーマットは定義上、ペイロードは255バイト (つまりは514キャラクタ) が上限であり、EPROMプログラマにはこの上限まで扱えるように十分な行バッファがあるべきだが、実際に十分なバッファのあるEPROMプログラマは少数しかないという。
S0
S3 (1つ以上)
S5 (任意)
S7