diff --git a/commons/pom.xml b/commons/pom.xml
index 5874d03b056716a978a4974e4516c718749e064b..92f50c5630c2faac555ca47ddb9755c1e83500d4 100644
--- a/commons/pom.xml
+++ b/commons/pom.xml
@@ -22,6 +22,11 @@
 			<artifactId>commons-io</artifactId>
 			<version>${commons-io.version}</version>
 		</dependency>
+		<dependency>
+			<groupId>org.apache.commons</groupId>
+			<artifactId>commons-text</artifactId>
+			<version>${apache.commons-text.version}</version>
+		</dependency>
 		<dependency>
 			<groupId>org.apache.commons</groupId>
 			<artifactId>commons-lang3</artifactId>
diff --git a/commons/src/main/java/lcsb/mapviewer/common/XmlParser.java b/commons/src/main/java/lcsb/mapviewer/common/XmlParser.java
index a6d9f1f72195de50940341398df56b19c958602a..0d5ab74603a074c3ba1b4dab1a38ad7b8d920a6e 100644
--- a/commons/src/main/java/lcsb/mapviewer/common/XmlParser.java
+++ b/commons/src/main/java/lcsb/mapviewer/common/XmlParser.java
@@ -21,7 +21,7 @@ import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
 import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.StringEscapeUtils;
+import org.apache.commons.text.StringEscapeUtils;
 import org.apache.log4j.Logger;
 import org.w3c.dom.Document;
 import org.w3c.dom.NamedNodeMap;
@@ -416,7 +416,7 @@ public class XmlParser {
       return null;
     }
     // quite expensive
-    return StringEscapeUtils.escapeXml(string).replaceAll("\n", "&#10;").replace("\r", "&#13;");
+    return StringEscapeUtils.escapeXml10(string).replaceAll("\n", "&#10;").replace("\r", "&#13;");
   }
 
   public List<Node> getAllNotNecessirellyDirectChild(String tagName, Node root) {
diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlConverter.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlConverter.java
index ee8b701a4e731ca7fdf5eb785acd43fe049ef506..ffdc1fdfc09fae44b22cb99b17a76fb617488a72 100644
--- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlConverter.java
+++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlConverter.java
@@ -15,7 +15,7 @@ import java.nio.charset.StandardCharsets;
 import javax.xml.bind.JAXBException;
 
 import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.StringEscapeUtils;
+import org.apache.commons.text.StringEscapeUtils;
 import org.apache.log4j.Logger;
 import org.apache.log4j.spi.LoggingEvent;
 import org.sbgn.SbgnUtil;
@@ -74,7 +74,7 @@ public class SbgnmlXmlConverter implements IConverter {
             throw new ConverterException("problematic output sbgn. Cannot find map tag");
           }
           String notesNode = "<notes><html:body xmlns:html=\"http://www.w3.org/1999/xhtml\">" +
-              StringEscapeUtils.escapeXml(notes.toString()) + "\n</html:body></notes> ";
+              StringEscapeUtils.escapeXml10(notes.toString()) + "\n</html:body></notes> ";
           xml = xml.substring(0, position) + notesNode + xml.substring(position, xml.length());
         }
         result = new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8));
diff --git a/converter-sbml/pom.xml b/converter-sbml/pom.xml
index 92fec0b1eb8f7d7f16ae8c84f0f953d676e3c08f..f3c2a5ec22b5b2701bb9a7124504455306fe9d89 100644
--- a/converter-sbml/pom.xml
+++ b/converter-sbml/pom.xml
@@ -104,7 +104,7 @@
 					<groupId>commons-logging</groupId>
 					<artifactId>commons-logging</artifactId>
 				</exclusion>
-			<!-- https://github.com/sbmlteam/jsbml/issues/156 -->
+				<!-- https://github.com/sbmlteam/jsbml/issues/156 -->
 				<exclusion>
 					<groupId>org.sbml.jsbml</groupId>
 					<artifactId>jsbml-core</artifactId>
@@ -153,6 +153,12 @@
 			<scope>test</scope>
 		</dependency>
 
+		<dependency>
+			<groupId>org.apache.commons</groupId>
+			<artifactId>commons-text</artifactId>
+			<version>${apache.commons-text.version}</version>
+		</dependency>
+		
 		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/NotesUtility.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/NotesUtility.java
index d1ca33fbdaabcc01a7409241573e546a247bb3c9..7f2b00aa02466b613d84eefbc2a552062acfe72e 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/NotesUtility.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/NotesUtility.java
@@ -1,7 +1,8 @@
 package lcsb.mapviewer.converter.model.sbml;
+
 import javax.xml.stream.XMLStreamException;
 
-import org.apache.commons.lang3.StringEscapeUtils;
+import org.apache.commons.text.StringEscapeUtils;
 import org.sbml.jsbml.AbstractNamedSBase;
 
 import lcsb.mapviewer.converter.InvalidInputDataExecption;
@@ -56,7 +57,7 @@ public class NotesUtility {
     if (notes == null) {
       return "";
     }
-    return StringEscapeUtils.escapeXml(notes);
+    return StringEscapeUtils.escapeXml10(notes);
   }
 
 }
diff --git a/pom.xml b/pom.xml
index 28413ac14f095f02810c946ab04102bf15fdaa45..c6cbff9814714288b971db5f98a5802f5e44f3a7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,6 +43,8 @@
 
 		<apache.commons-lang3.version>3.8.1</apache.commons-lang3.version>
 
+		<apache.commons-text.version>1.6</apache.commons-text.version>
+
 		<commons-cli.version>1.4</commons-cli.version>
 
 		<batik.version>1.10</batik.version>