diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/extension/multi/BioEntityFeature.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/extension/multi/BioEntityFeature.java
index 93db74e678b5a60282ec7639a1481d9bb8892f6f..a1b95b4d590f5383aa932011f5bc029aa5f83b11 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/extension/multi/BioEntityFeature.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/extension/multi/BioEntityFeature.java
@@ -29,6 +29,9 @@ public enum BioEntityFeature {
   DIMER("Dimer", null, new Class<?>[] { Element.class },
       "minerva_dimer_"),
 
+  CHARGE("Charge", null, new Class<?>[] { Element.class },
+      "minerva_charge_"),
+
   ABBREVIATION("Abbreviation", null, new Class<?>[] { Element.class },
       "minerva_abbreviation_"),
 
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java
index 532aa20056a0950d0857348da6bd7d3e0e7ea892..a3c6131fb71fc4a557758362949f6f4a99df14dd 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java
@@ -106,6 +106,7 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j
     assignDimerToMulti(element, multiExtension, speciesType);
     assignHypotheticalToMulti(element, multiExtension, speciesType);
     assignAbbreviationToMulti(element, multiExtension, speciesType);
+    assignChargeToMulti(element, multiExtension, speciesType);
   }
 
   private void assignElementModificationResiduesToMulti(Species element, MultiSpeciesPlugin multiExtension,
@@ -305,6 +306,13 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j
     }
   }
 
+  private void assignChargeToMulti(Species element, MultiSpeciesPlugin multiExtension,
+      MultiSpeciesType speciesType) {
+    if (element.getCharge() != null) {
+      assignValueToFeature(element, multiExtension, speciesType, element.getCharge().toString(), BioEntityFeature.CHARGE);
+    }
+  }
+
   private void assignHypotheticalToMulti(Species element, MultiSpeciesPlugin multiExtension,
       MultiSpeciesType speciesType) {
     if (element.getHypothetical() != null) {
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java
index 3022498a9199ec2796934c0a35ba9c1cdad26176..de9ba5546d6efadd08fa7f0165bf991a9ec28bc9 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java
@@ -86,6 +86,9 @@ public class SbmlSpeciesParser extends SbmlElementParser<org.sbml.jsbml.Species>
       if (species.isSetConstant()) {
         result.setConstant(species.getConstant());
       }
+      if (species.isSetCharge()) {
+        result.setCharge(species.getCharge());
+      }
       assignBioEntityData(species, result);
       if (getLayout() == null) {
         assignCompartment(result, species.getCompartment());
@@ -157,6 +160,16 @@ public class SbmlSpeciesParser extends SbmlElementParser<org.sbml.jsbml.Species>
           logger.warn(warnPrefix + "Dimer must have integer value, instead found: " + featureValues.get(0));
         }
       }
+    } else if (MultiPackageNamingUtils.isFeatureId(featureTypeString, BioEntityFeature.CHARGE)) {
+      if (featureValues.size() != 1) {
+        logger.warn(warnPrefix + "Charge must have exactly one value");
+      } else {
+        try {
+          minervaElement.setCharge(Integer.parseInt(featureValues.get(0)));
+        } catch (NumberFormatException e) {
+          logger.warn(warnPrefix + "Charge must have integer value, instead found: " + featureValues.get(0));
+        }
+      }
     } else if (MultiPackageNamingUtils.isFeatureId(featureTypeString, BioEntityFeature.SYMBOL)) {
       if (featureValues.size() != 1) {
         logger.warn(warnPrefix + "Symbol must have exactly one value");
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToMultiTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToMultiTest.java
index ad4ba2ac9dd574e0a4efe8faba19ab92e628ccce..ea0af3d65868a97db0efed823455993d2aab034b 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToMultiTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToMultiTest.java
@@ -60,6 +60,10 @@ public class ElementPropertiesExportToMultiTest {
     element.setHomodimer(4);
     data.add(createTestEntry("Homodimer", element));
 
+    element = createElement();
+    element.setCharge(5);
+    data.add(createTestEntry("Charge", element));
+
     element = createElement();
     element.setHypothetical(true);
     data.add(createTestEntry("Hypothetical", element));