diff --git a/app/main/forms.py b/app/main/forms.py
index d9f369fd6400df237a7831932b87384ab390790a..316be954ce86f7751691bda80c263f3add446f97 100644
--- a/app/main/forms.py
+++ b/app/main/forms.py
@@ -1,5 +1,5 @@
 from flask_wtf import FlaskForm
-from wtforms import MultipleFileField, StringField, SubmitField
+from wtforms import MultipleFileField, StringField, SubmitField, ValidationError
 from wtforms.validators import DataRequired, Length
 
 
@@ -14,8 +14,10 @@ class CreateCorpusForm(FlaskForm):
         'Title',
         validators=[DataRequired(), Length(1, 32)]
     )
-    '''
+
     def validate_files(form, field):
-        for file in form.files.getlist[field.name]:
-            if file.mimetype
-    '''
+        for file in field.data:
+            if not file.filename.lower().endswith('.vrt'):
+                raise ValidationError(
+                    'File does not have an approved extension: .vrt'
+                )
diff --git a/app/services/forms.py b/app/services/forms.py
index 655f0e58e6e6c5510eeb3f9751202bc89359ed36..d0c0146b058203afc289ae6cbde74f31123d7eb5 100644
--- a/app/services/forms.py
+++ b/app/services/forms.py
@@ -1,5 +1,5 @@
 from flask_wtf import FlaskForm
-from wtforms import MultipleFileField, SelectField, StringField, SubmitField
+from wtforms import MultipleFileField, SelectField, StringField, SubmitField, ValidationError
 from wtforms.validators import DataRequired, Length
 
 
@@ -29,3 +29,11 @@ class CreateOCRJobForm(FlaskForm):
         'Title',
         validators=[DataRequired(), Length(1, 32)]
     )
+
+    def validate_files(form, field):
+        for file in field.data:
+            if not file.filename.lower().endswith(('.pdf', '.tif', '.tiff')):
+                raise ValidationError(
+                    'File does not have an approved extension: '
+                    '.pdf | .tif | .tiff'
+                )