diff --git a/backend/secfit/seed.json b/backend/secfit/seed.json
index 32c13669406955b9fe8d6ceae493c9eacd1fcf41..a81bea2d4fe83a874a699bac3997e45b02f7d8da 100644
--- a/backend/secfit/seed.json
+++ b/backend/secfit/seed.json
@@ -5,6 +5,7 @@
       "fields": {
         "name": "Push-up",
         "description": "A push-up (or press-up in British English) is a common calisthenics exercise beginning from the prone position.",
+        "category": "Strength",
         "unit": "reps"
       }
     },
@@ -14,6 +15,7 @@
       "fields": {
         "name": "Crunch",
         "description": "The crunch is one of the most popular abdominal exercises.",
+        "category": "Strength",
         "unit": "reps"
       }
     },
@@ -23,6 +25,7 @@
       "fields": {
         "name": "Plank",
         "description": "The plank is an isometric core strength exercise that involves maintaining a position similar to a push-up for the maximum possible time.",
+        "category": "Strength",
         "unit": "seconds"
       }
     }
diff --git a/backend/secfit/workouts/migrations/0001_initial.py b/backend/secfit/workouts/migrations/0001_initial.py
index e78f67f7363e007e0b6957edd84c78c2c614adec..cf5e9cb7eeb21cee19e3d7aa487b7df081f8ef60 100644
--- a/backend/secfit/workouts/migrations/0001_initial.py
+++ b/backend/secfit/workouts/migrations/0001_initial.py
@@ -29,6 +29,7 @@ class Migration(migrations.Migration):
                 ),
                 ("name", models.CharField(max_length=100)),
                 ("description", models.TextField()),
+                ("category", models.CharField(max_length=50)),
                 ("unit", models.CharField(max_length=50)),
             ],
         ),
diff --git a/backend/secfit/workouts/models.py b/backend/secfit/workouts/models.py
index 5e3c6d1614d54992b42491bee8207a65410c5961..335adbdc4eb24495b6111b5f78eb3687654cd59a 100644
--- a/backend/secfit/workouts/models.py
+++ b/backend/secfit/workouts/models.py
@@ -76,11 +76,13 @@ class Exercise(models.Model):
     Attributes:
         name:        Name of the exercise type
         description: Description of the exercise type
+        category:    What category the exercise fits in (e.g., endurance, strenght, balance, felxibility or other)
         unit:        Name of the unit for the exercise type (e.g., reps, seconds)
     """
 
     name = models.CharField(max_length=100)
     description = models.TextField()
+    category = models.CharField(max_length=50)
     unit = models.CharField(max_length=50)
 
     def __str__(self):
diff --git a/backend/secfit/workouts/serializers.py b/backend/secfit/workouts/serializers.py
index a966ed3d752dcf54767a10f2b4b53d416e095a33..42c344044b722c6553b1a0a46442dfcf936e0064 100644
--- a/backend/secfit/workouts/serializers.py
+++ b/backend/secfit/workouts/serializers.py
@@ -201,7 +201,7 @@ class WorkoutSerializer(serializers.HyperlinkedModelSerializer):
 class ExerciseSerializer(serializers.HyperlinkedModelSerializer):
     """Serializer for an Exercise. Hyperlinks are used for relationships by default.
 
-    Serialized fields: url, id, name, description, unit, instances
+    Serialized fields: url, id, name, description, category, unit, instances
 
     Attributes:
         instances:  Associated exercise instances with this Exercise type. Hyperlinks.
@@ -213,7 +213,7 @@ class ExerciseSerializer(serializers.HyperlinkedModelSerializer):
 
     class Meta:
         model = Exercise
-        fields = ["url", "id", "name", "description", "unit", "instances"]
+        fields = ["url", "id", "name", "description", "category", "unit", "instances"]
 
 
 class RememberMeSerializer(serializers.HyperlinkedModelSerializer):
diff --git a/frontend/www/exercise.html b/frontend/www/exercise.html
index 741bca077b7962809c16c5db83a223f062ffb49b..b16fee6a5f799beaac81371ae01fa1bd99ab0b17 100644
--- a/frontend/www/exercise.html
+++ b/frontend/www/exercise.html
@@ -30,6 +30,18 @@
                 <textarea class="form-control" id="inputDescription" name="description" readonly></textarea>
             </div>
             <div class="col-lg-6"></div>
+            <div class="col-lg-6">
+                <label for="inputCategory" class="form-label">Category</label>
+                <select id="inputCategory" class="form-select" name="category" disabled>
+                    <option value="None"></option>
+                    <option value="Endurance">Endurance</option>
+                    <option value="Strength">Strength</option>
+                    <option value="Balance">Balance</option>
+                    <option value="Flexibility">Flexibility</option>
+                    <option value="Other">Other</option>
+                </select>
+            </div>
+            <div class="col-lg-6"></div>
             <div class="col-lg-6">
                 <label for="inputUnit" class="form-label">Unit</label>
                 <input type="text" class="form-control" id="inputUnit" name="unit" readonly>
diff --git a/frontend/www/scripts/exercise.js b/frontend/www/scripts/exercise.js
index aa99f0ef40d2eeba7ffe8a7002d7dd808d984a60..e48585ed91648068f0935460a90d916c78b659e1 100644
--- a/frontend/www/scripts/exercise.js
+++ b/frontend/www/scripts/exercise.js
@@ -17,10 +17,12 @@ function handleCancelButtonDuringEdit() {
     let form = document.querySelector("#form-exercise");
     if (oldFormData.has("name")) form.name.value = oldFormData.get("name");
     if (oldFormData.has("description")) form.description.value = oldFormData.get("description");
+    if (oldFormData.has("category")) form.category.value = oldFormData.get("category");
     if (oldFormData.has("unit")) form.unit.value = oldFormData.get("unit");
     
     oldFormData.delete("name");
     oldFormData.delete("description");
+    oldFormData.delete("category");
     oldFormData.delete("unit");
 
 }
@@ -34,6 +36,7 @@ async function createExercise() {
     let formData = new FormData(form);
     let body = {"name": formData.get("name"), 
                 "description": formData.get("description"), 
+                "category": formData.get("category"),
                 "unit": formData.get("unit")};
 
     let response = await sendRequest("POST", `${HOST}/api/exercises/`, body);
@@ -90,6 +93,9 @@ async function retrieveExercise(id) {
             let newVal = exerciseData[key];
             input.value = newVal;
         }
+        console.log("This is all the data: " + exerciseData)
+        let element = document.getElementById('inputCategory');
+        element.value = exerciseData.category;
     }
 }
 
@@ -97,7 +103,8 @@ async function updateExercise(id) {
     let form = document.querySelector("#form-exercise");
     let formData = new FormData(form);
     let body = {"name": formData.get("name"), 
-                "description": formData.get("description"), 
+                "description": formData.get("description"),
+                "category": formData.get("category"),
                 "unit": formData.get("unit")};
     let response = await sendRequest("PUT", `${HOST}/api/exercises/${id}/`, body);
 
@@ -118,6 +125,7 @@ async function updateExercise(id) {
         
         oldFormData.delete("name");
         oldFormData.delete("description");
+        oldFormData.delete("category");
         oldFormData.delete("unit");
     }
 }