diff --git a/draftlogs/6923_fix.md b/draftlogs/6923_fix.md
new file mode 100644
index 00000000000..2dc85b084b7
--- /dev/null
+++ b/draftlogs/6923_fix.md
@@ -0,0 +1 @@
+ - Fix centering multi-line headers for treemap traces [[#6923](https://github.com/plotly/plotly.js/pull/6923)]
diff --git a/src/traces/treemap/draw_descendants.js b/src/traces/treemap/draw_descendants.js
index 32c20344a62..dc37f2e0ceb 100644
--- a/src/traces/treemap/draw_descendants.js
+++ b/src/traces/treemap/draw_descendants.js
@@ -184,9 +184,13 @@ module.exports = function drawDescendants(gd, cd, entry, slices, opts) {
var font = Lib.ensureUniformFontSize(gd, helpers.determineTextFont(trace, pt, fullLayout.font));
- sliceText.text(pt._text || ' ') // use one space character instead of a blank string to avoid jumps during transition
+
+ var text = pt._text || ' '; // use one space character instead of a blank string to avoid jumps during transition
+ var singleLineHeader = isHeader && text.indexOf('
') === -1;
+
+ sliceText.text(text)
.classed('slicetext', true)
- .attr('text-anchor', hasRight ? 'end' : (hasLeft || isHeader) ? 'start' : 'middle')
+ .attr('text-anchor', hasRight ? 'end' : (hasLeft || singleLineHeader) ? 'start' : 'middle')
.call(Drawing.font, font)
.call(svgTextUtils.convertToTspans, gd);
diff --git a/test/image/baselines/zz-treemap_multi-line_headers.png b/test/image/baselines/zz-treemap_multi-line_headers.png
new file mode 100644
index 00000000000..58afe6c819f
Binary files /dev/null and b/test/image/baselines/zz-treemap_multi-line_headers.png differ
diff --git a/test/image/mocks/zz-treemap_multi-line_headers.json b/test/image/mocks/zz-treemap_multi-line_headers.json
new file mode 100644
index 00000000000..7119fff7852
--- /dev/null
+++ b/test/image/mocks/zz-treemap_multi-line_headers.json
@@ -0,0 +1,41 @@
+{
+ "data": [
+ {
+ "labels": [
+ "parent2",
+ "parent1
Long text on second line",
+ "item2",
+ "item1"
+ ],
+ "name": "",
+ "parents": [
+ "",
+ "",
+ "parent2",
+ "parent1
Long text on second line"
+ ],
+ "values": [
+ 0,
+ 0,
+ 200,
+ 500
+ ],
+ "type": "treemap",
+ "textposition": "middle center",
+ "texttemplate": "%{label}",
+ "textfont": {
+ "size": 20
+ }
+ }
+ ],
+ "layout": {
+ "margin": {
+ "t": 50,
+ "b": 10,
+ "l": 10,
+ "r": 10
+ },
+ "height": 200,
+ "width": 500
+ }
+}