Cada registro está localizado em uma linha separada, delimitada por uma quebra de linha (CRLF). Por exemplo:
aaa, bbb, CRLF CCCF zzz, aaaa, xxx CRLF
O último registro no arquivo pode ou não ter uma quebra de linha final. Por exemplo:
aaa, bbb, ccc CRLF zzz, aaaa, xxx
Talvez haja uma linha de cabeçalho opcional aparecendo como a primeira linha do arquivo com o mesmo formato das linhas de registro normais. Este cabeçalho conterá nomes correspondentes aos campos no arquivo e deve conter o mesmo número de campos que os registros no restante do arquivo (a presença ou ausência da linha do cabeçalho deve ser indicada através do parâmetro opcional "header" deste Tipo MIME). Por exemplo:
nome_campo, nome_campo, nome_campo CRLF aaa, bbb, CRLF ccc zzz, aaaa, xxx CRLF
Dentro do cabeçalho e de cada registro, pode haver um ou mais campos, separados por vírgulas. Cada linha deve conter o mesmo número de campos em todo o arquivo. Os espaços são considerados parte de um campo e não devem ser ignorados. O último campo no registro não deve ser seguido por vírgula. Por exemplo:
aaa, bbb, ccc
Cada campo pode ou não estar entre aspas duplas (no entanto, alguns programas, como o Microsoft Excel, não usam aspas duplas). Se os campos não estiverem entre aspas duplas, as aspas duplas poderão não aparecer dentro dos campos. Por exemplo:
"aaa", "bbb", "ccc" CRLF zzz, aaaa, xxx
Os campos que contêm quebras de linha (CRLF), aspas duplas e vírgulas devem ser colocados entre aspas duplas. Por exemplo:
"aaa", "b CRLF bb", "ccc" CRLF zzz, aaaa, xxx
Se aspas duplas forem usadas para delimitar campos, uma aspas dupla aparecendo dentro de um campo deverá ser escapada precedendo-a com outra aspas dupla. Por exemplo:
"aaa", "b" "bb", "ccc"