diff --git a/src/main/java/NTNU/IDATT1002/controllers/Upload.java b/src/main/java/NTNU/IDATT1002/controllers/Upload.java
index 5b80584857109ee3ad1a8ac6ffb1e2e2600d4a8a..1c0ab1980d68be0f04ab5b2df4f08d0334b213a7 100644
--- a/src/main/java/NTNU/IDATT1002/controllers/Upload.java
+++ b/src/main/java/NTNU/IDATT1002/controllers/Upload.java
@@ -7,6 +7,9 @@
 package NTNU.IDATT1002.controllers;
 
 import NTNU.IDATT1002.App;
+import java.util.ArrayList;
+import javafx.event.ActionEvent;
+import javafx.scene.control.Alert;
 import javafx.scene.control.Button;
 import javafx.scene.input.DragEvent;
 import javafx.scene.input.TransferMode;
@@ -50,6 +53,14 @@ public class Upload extends NavBarController {
         // Show save file dialog
         List<File> list = fileChooser.showOpenMultipleDialog(uploadBtn.getScene().getWindow());
 
+        for(File file : list) {
+            if(file.length() > 4100000) {
+                Alert alert = new Alert(Alert.AlertType.ERROR, file.getName() + " is too large. File limit is 4.1MB");
+                alert.show();
+                list = new ArrayList<>();
+            }
+        }
+
         if(!list.isEmpty()){
             //Store files in DataExchange
             App.ex.setUploadedFiles(list);
diff --git a/src/main/java/NTNU/IDATT1002/controllers/UploadImages.java b/src/main/java/NTNU/IDATT1002/controllers/UploadImages.java
index 8f26e9def2a737fa0c78078eac47490335e77881..821041e7895d35e783473c63c10bca43909b5758 100644
--- a/src/main/java/NTNU/IDATT1002/controllers/UploadImages.java
+++ b/src/main/java/NTNU/IDATT1002/controllers/UploadImages.java
@@ -251,6 +251,11 @@ public class UploadImages implements Initializable {
 
       //Each of the uploaded images in DataExchange index match on each container displaying it on the page
       File file = App.ex.getUploadedFiles().get(i);
+      if(file.length() > 4100000) {
+        Alert alert = new Alert(Alert.AlertType.INFORMATION, file.getName() + "is too large. File limit is 4.1MB");
+        alert.show();
+        break;
+      }
       String tagsString = ((TextField) tagsField).getText();
       List<Tag> tags = TagService.getTagsFromString(tagsString);
 
diff --git a/src/main/java/NTNU/IDATT1002/service/ImageService.java b/src/main/java/NTNU/IDATT1002/service/ImageService.java
index e9d6113ebded6b4925a641bcc4a724b041c9a555..af5347fae8cfe1b740e3397bb99c0f20cc4b2e22 100644
--- a/src/main/java/NTNU/IDATT1002/service/ImageService.java
+++ b/src/main/java/NTNU/IDATT1002/service/ImageService.java
@@ -11,6 +11,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
 import java.util.stream.Collectors;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Image service
@@ -22,6 +24,7 @@ public class ImageService {
 
     private ImageRepository imageRepository;
     private TagService tagService;
+    private static Logger logger = LoggerFactory.getLogger(ImageService.class);
 
     /**
      * Inject entity manager instance to the repositories.
@@ -39,11 +42,12 @@ public class ImageService {
      * @return Optional containing the saved image
      */
     public Optional<Image> createImage(User user, File file, List<Tag> tags) {
-
+        if(file == null) {
+            logger.error("[x] An error occurred when trying to create a image; the file was null and the image could not be created");
+            return Optional.empty();
+        }
         GeoLocation geoLocation = MetaDataExtractor.getGeoLocation(file);
 
-        if(file == null)
-            return Optional.empty();
 
         Image image = new Image();
         Metadata metadata = new Metadata();