diff --git a/sage_validation/file_validator/forms.py b/sage_validation/file_validator/forms.py
index ef6e9ec49fccd201adcc9a8ec30a53fbfee2e566..75c9c38dd20eb5dbcfbf98d8c8b844dd27b6ff99 100644
--- a/sage_validation/file_validator/forms.py
+++ b/sage_validation/file_validator/forms.py
@@ -76,7 +76,9 @@ class CSVUploadForm(forms.Form):
         self._validate_file_type(file)
 
         # Step 2: Parse file and validate headers
-        csv_file = file.read().decode("utf-8").splitlines()
+        raw_data = file.read().decode("utf-8")
+        normalized_data = raw_data.replace('\r\n', '\n').replace('\r', '\n')
+        csv_file = normalized_data.splitlines()
         reader = csv.DictReader(csv_file, delimiter=",")
         fieldnames = reader.fieldnames if reader.fieldnames is not None else []
         self._validate_headers(fieldnames)