diff --git a/llama-index-core/llama_index/core/node_parser/file/markdown.py b/llama-index-core/llama_index/core/node_parser/file/markdown.py
index de4450d60605e819c11623a658f9905bce4b9338..6f8ecb984051f9538daea5f03f7a881e49d78853 100644
--- a/llama-index-core/llama_index/core/node_parser/file/markdown.py
+++ b/llama-index-core/llama_index/core/node_parser/file/markdown.py
@@ -99,11 +99,11 @@ class MarkdownNodeParser(NodeParser):
         updated_headers = {}
 
         for i in range(1, new_header_level):
-            key = f"Header {i}"
+            key = f"Header_{i}"
             if key in headers_metadata:
                 updated_headers[key] = headers_metadata[key]
 
-        updated_headers[f"Header {new_header_level}"] = new_header
+        updated_headers[f"Header_{new_header_level}"] = new_header
         return updated_headers
 
     def _build_node_from_split(
diff --git a/llama-index-core/tests/node_parser/test_markdown.py b/llama-index-core/tests/node_parser/test_markdown.py
index 46577747e2b229a86557fa2dae31dd8d5144779a..876aae23e887423203bcbe9102bcd7ad93e2c441 100644
--- a/llama-index-core/tests/node_parser/test_markdown.py
+++ b/llama-index-core/tests/node_parser/test_markdown.py
@@ -19,8 +19,8 @@ Header 2 content
         ]
     )
     assert len(splits) == 2
-    assert splits[0].metadata == {"Header 1": "Main Header"}
-    assert splits[1].metadata == {"Header 1": "Header 2"}
+    assert splits[0].metadata == {"Header_1": "Main Header"}
+    assert splits[1].metadata == {"Header_1": "Header 2"}
     assert splits[0].text == "Main Header\n\nHeader 1 content"
     assert splits[1].text == "Header 2\nHeader 2 content"
 
@@ -80,11 +80,11 @@ Content
         ]
     )
     assert len(splits) == 4
-    assert splits[0].metadata == {"Header 1": "Main Header"}
-    assert splits[1].metadata == {"Header 1": "Main Header", "Header 2": "Sub-header"}
+    assert splits[0].metadata == {"Header_1": "Main Header"}
+    assert splits[1].metadata == {"Header_1": "Main Header", "Header_2": "Sub-header"}
     assert splits[2].metadata == {
-        "Header 1": "Main Header",
-        "Header 2": "Sub-header",
-        "Header 3": "Sub-sub header",
+        "Header_1": "Main Header",
+        "Header_2": "Sub-header",
+        "Header_3": "Sub-sub header",
     }
-    assert splits[3].metadata == {"Header 1": "New title"}
+    assert splits[3].metadata == {"Header_1": "New title"}