diff --git a/lib/matplotlib/backends/backend_nbagg.py b/lib/matplotlib/backends/backend_nbagg.py
index 7a9824910a1..b1f3d5be610 100644
--- a/lib/matplotlib/backends/backend_nbagg.py
+++ b/lib/matplotlib/backends/backend_nbagg.py
@@ -122,8 +122,12 @@ class NavigationIPy(NavigationToolbar2WebAgg):
def export(self):
buf = io.BytesIO()
self.canvas.figure.savefig(buf, format='png', dpi='figure')
- data = "
"
- data = data.format(b64encode(buf.getvalue()).decode('utf-8'))
+ # Figure width in pixels
+ pwidth = self.canvas.figure.get_figwidth()*self.canvas.figure.get_dpi()
+ # Scale size to match widget on HiPD monitors
+ width = pwidth/self.canvas._dpi_ratio
+ data = "
"
+ data = data.format(b64encode(buf.getvalue()).decode('utf-8'), width)
display(HTML(data))