diff --git a/phasecalculator/classes/phase.py b/phasecalculator/classes/phase.py
index 741b7531a29d2e2674debe0fa6a37e6647028bbd..41ee8f2537c7cc0846425c6f04c352bbafd7483f 100755
--- a/phasecalculator/classes/phase.py
+++ b/phasecalculator/classes/phase.py
@@ -203,3 +203,17 @@ class Phase(object):
 
         """
         return [molecule.ssip_file_loc for molecule in self.molecule_list]
+    
+    def get_name_inchikey_map(self):
+        """Get the name inchikey mapping for all molecules in the phases.
+
+        Returns
+        -------
+        name_inchikey_map : dict
+            name: inchikey pairings for molecules.
+
+        """
+        name_inchikey_map = {}
+        for molecule in self.molecule_list:
+            name_inchikey_map[molecule.name] = molecule.inchikey
+        return name_inchikey_map
diff --git a/phasecalculator/classes/phases.py b/phasecalculator/classes/phases.py
index 67527cd5b06d1848858616b71cb6d4fab683029c..6b04fed7c68a064ed1185fae9fb22f16f6af00e7 100755
--- a/phasecalculator/classes/phases.py
+++ b/phasecalculator/classes/phases.py
@@ -181,3 +181,17 @@ class Phases(object):
         for phase in self.phase_list:
             ssip_file_locations.extend(phase.get_ssip_file_locations())
         return set(ssip_file_locations)
+    
+    def get_name_inchikey_map(self):
+        """Get the name inchikey mapping for all molecules in the phases.
+
+        Returns
+        -------
+        name_inchikey_map : dict
+            name: inchikey pairings for molecules.
+
+        """
+        name_inchikey_map = {}
+        for phase in self.phase_list:
+            name_inchikey_map.update(phase.get_name_inchikey_map())
+        return name_inchikey_map
\ No newline at end of file
diff --git a/phasecalculator/classes/system.py b/phasecalculator/classes/system.py
index 33384d3765fa9409b78d08bf6861b9877646acd5..a09412c6007221aaeab1555bd936cefecb054074 100755
--- a/phasecalculator/classes/system.py
+++ b/phasecalculator/classes/system.py
@@ -268,6 +268,17 @@ class System(object):
 
         """
         return self.phases.get_ssip_file_locations()
+    
+    def get_name_inchikey_map(self):
+        """Get the name inchikey mapping for all molecules in the phases.
+
+        Returns
+        -------
+        name_inchikey_map : dict
+            name: inchikey pairings for molecules.
+
+        """
+        return self.phases.get_name_inchikey_map()
 
     def calc_fgip(self):
         """Boolean indicating whether to Calculate FGIP information for Phases.
diff --git a/phasecalculator/test/classestest/phasestest.py b/phasecalculator/test/classestest/phasestest.py
index 761dd6d6ec9a3a2ce3777fa53c999872fc6333d7..6eb885040bfef44181bf61712e0259acb0b1b373 100755
--- a/phasecalculator/test/classestest/phasestest.py
+++ b/phasecalculator/test/classestest/phasestest.py
@@ -145,3 +145,14 @@ class PhasesTestCase(unittest.TestCase):
         expected_set = {self.molecule.ssip_file_loc}
         actual_set = self.phases.get_ssip_file_locations()
         self.assertSetEqual(expected_set, actual_set)
+    def test_get_name_inchikey_map(self):
+        """Test expected name: inchikey mapping is returned.
+
+        Returns
+        -------
+        None.
+
+        """
+        expected_dict = {'water': 'XLYOFNOQVPJJNP-UHFFFAOYSA-N'}
+        actual_dict = self.phases.get_name_inchikey_map()
+        self.assertDictEqual(expected_dict, actual_dict)
diff --git a/phasecalculator/test/classestest/phasetest.py b/phasecalculator/test/classestest/phasetest.py
index 1aeaa69003f9323598181230daf5420226ecafb8..f650ece3c85dec8ceffb58b19013c6ea85aec852 100755
--- a/phasecalculator/test/classestest/phasetest.py
+++ b/phasecalculator/test/classestest/phasetest.py
@@ -138,3 +138,14 @@ class PhaseTestCase(unittest.TestCase):
         expected_list = [self.molecule.ssip_file_loc]
         actual_list = self.phase.get_ssip_file_locations()
         self.assertListEqual(expected_list, actual_list)
+    def test_get_name_inchikey_map(self):
+        """Test expected name: inchikey mapping is returned.
+
+        Returns
+        -------
+        None.
+
+        """
+        expected_dict = {'water': 'XLYOFNOQVPJJNP-UHFFFAOYSA-N'}
+        actual_dict = self.phase.get_name_inchikey_map()
+        self.assertDictEqual(expected_dict, actual_dict)
\ No newline at end of file
diff --git a/phasecalculator/test/classestest/systemtest.py b/phasecalculator/test/classestest/systemtest.py
index 2ca3cb40ffb651f6a12ebd27854d6ef83e44f42a..e02dbeb7e0d42690cb94964c6fae71209700c78e 100755
--- a/phasecalculator/test/classestest/systemtest.py
+++ b/phasecalculator/test/classestest/systemtest.py
@@ -222,6 +222,18 @@ class SystemTestCase(unittest.TestCase):
         expected_set = {self.molecule.ssip_file_loc}
         actual_set = self.system.get_ssip_file_locations()
         self.assertSetEqual(expected_set, actual_set)
+    
+    def test_get_name_inchikey_map(self):
+        """Test expected name: inchikey mapping is returned.
+
+        Returns
+        -------
+        None.
+
+        """
+        expected_dict = {'water': 'XLYOFNOQVPJJNP-UHFFFAOYSA-N'}
+        actual_dict = self.system.get_name_inchikey_map()
+        self.assertDictEqual(expected_dict, actual_dict)
 
     def test_calc_fgip(self):
         """Test expected bool returned.