diff --git a/pom.xml b/pom.xml
index 9217a46420d18631f4ec2da30a9b01307a76efba..d6f9ca36e899e2aa3b4e0226b5ad02fef1cfddc8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -142,6 +142,11 @@
             <artifactId>gson</artifactId>
             <version>2.5</version>
         </dependency>
+        <dependency>
+            <groupId>com.github.slugify</groupId>
+            <artifactId>slugify</artifactId>
+            <version>2.1.4</version>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java
index fa754bf084b520bea235c55c05b855531c467b97..dc67e1c1e79d0e9daf619f54c26770b298f0cc05 100644
--- a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java
+++ b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java
@@ -5,6 +5,7 @@
 package org.hbp.mip.controllers;
 
 
+import com.github.slugify.Slugify;
 import io.swagger.annotations.*;
 import org.hbp.mip.MIPApplication;
 import org.hbp.mip.model.Article;
@@ -17,6 +18,7 @@ import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.IOException;
 import java.util.Date;
 import java.util.LinkedList;
 import java.util.List;
@@ -102,7 +104,16 @@ public class ArticlesApi {
         if (article.getStatus().equals("published")) {
             article.setPublishedAt(new Date());
         }
-        article.setSlug(article.getTitle().toLowerCase().replaceAll(" ","_"));
+
+        Slugify slg = null;
+        try {
+            slg = new Slugify();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        String slug = slg.slugify(article.getTitle());
+
+        article.setSlug(slug);
         article.setCreatedBy(user);
 
         Session session = HibernateUtil.getSessionFactory().getCurrentSession();
diff --git a/src/main/java/org/hbp/mip/controllers/ModelsApi.java b/src/main/java/org/hbp/mip/controllers/ModelsApi.java
index f930e7a556b1a70eb7c05c83fe9990217fb50bd7..ba4ae5e8fa3fe75c59eaa9c86965571ded3a4666 100644
--- a/src/main/java/org/hbp/mip/controllers/ModelsApi.java
+++ b/src/main/java/org/hbp/mip/controllers/ModelsApi.java
@@ -4,6 +4,7 @@
 
 package org.hbp.mip.controllers;
 
+import com.github.slugify.Slugify;
 import io.swagger.annotations.*;
 import org.hbp.mip.MIPApplication;
 import org.hbp.mip.model.*;
@@ -16,6 +17,7 @@ import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.IOException;
 import java.util.Date;
 import java.util.LinkedList;
 import java.util.List;
@@ -101,7 +103,15 @@ public class ModelsApi {
 
         User user = mipApplication.getUser();
 
-        model.setSlug(model.getConfig().getTitle().get("text").toLowerCase());
+        Slugify slg = null;
+        try {
+            slg = new Slugify();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        String slug = slg.slugify(model.getConfig().getTitle().get("text"));
+
+        model.setSlug(slug);
         model.setTitle(model.getConfig().getTitle().get("text"));
         model.setValid(true);
         model.setCreatedBy(user);