diff --git a/header/vectors.h b/header/vectors.h
index 3f2f8749bc4305a8647b22f3823f7e4aa497dc12..10f6c41ed73d7a9e8dcb539163d475095a8e1bd2 100644
--- a/header/vectors.h
+++ b/header/vectors.h
@@ -28,5 +28,6 @@ type vector_get(vector vec, int index);
 type vector_remove(vector vec, int index);
 void vector_insert(vector vec, type element, int index);
 void vector_empty(vector vec);
+void vector_free(vector vec);
 
 #endif
\ No newline at end of file
diff --git a/src/test_vectors.c b/src/test_vectors.c
index 038ee1f7a46d08652a676ca29a46796a6e80dc85..72816a24fd609f8c53ca99ad6f450c1d48c00f32 100644
--- a/src/test_vectors.c
+++ b/src/test_vectors.c
@@ -49,6 +49,10 @@ int main()
 	vector_empty(test);
 	printf("Empty Vector lenght : %d \n", vector_length(test));
 
+	//Test Vector Free
+	vector_free(test);
+
 	
+
 	return 0;
 }
\ No newline at end of file
diff --git a/src/vectors.c b/src/vectors.c
index f786ea7f2977eef6b8e8f32ca7e442b41c591b96..bc18ac373d551cfc31c8d0be88ef3958454b2289 100644
--- a/src/vectors.c
+++ b/src/vectors.c
@@ -121,4 +121,10 @@ void vector_empty(vector vec)
 
 	vec->content = realloc(vec->content, sizeof(type) * vec->capacity);
 	assert(vec->content != NULL);
+}
+
+void vector_free(vector vec)
+{
+	free(vec->content);
+	free(vec);
 }
\ No newline at end of file