diff --git a/frontend/src/metabase/visualizations/lib/save-chart-image.ts b/frontend/src/metabase/visualizations/lib/save-chart-image.ts
index 5324edafe02fbae14f3ec4111d579f507cdc4fed..99137432f1000497992f70db8a36112bac21d948 100644
--- a/frontend/src/metabase/visualizations/lib/save-chart-image.ts
+++ b/frontend/src/metabase/visualizations/lib/save-chart-image.ts
@@ -1,5 +1,4 @@
 import { css } from "@emotion/react";
-import html2canvas from "html2canvas";
 
 export const SAVING_DOM_IMAGE_CLASS = "saving-dom-image";
 export const SAVING_DOM_IMAGE_HIDDEN_CLASS = "saving-dom-image-hidden";
@@ -22,6 +21,7 @@ export const saveChartImage = async (selector: string, fileName: string) => {
 
   node.classList.add(SAVING_DOM_IMAGE_CLASS);
 
+  const { default: html2canvas } = await import("html2canvas");
   const canvas = await html2canvas(node, {
     useCORS: true,
   });
diff --git a/frontend/src/metabase/visualizations/lib/save-dashboard-pdf.ts b/frontend/src/metabase/visualizations/lib/save-dashboard-pdf.ts
index e24960763907f26d7a3c223b4e6f8ad485f3bc91..e41a36aa090697fe4c1f57aa28fa37b1aea916cf 100644
--- a/frontend/src/metabase/visualizations/lib/save-dashboard-pdf.ts
+++ b/frontend/src/metabase/visualizations/lib/save-dashboard-pdf.ts
@@ -1,6 +1,3 @@
-import html2canvas from "html2canvas";
-import jspdf from "jspdf";
-
 import { color } from "metabase/lib/colors";
 
 import { SAVING_DOM_IMAGE_CLASS } from "./save-chart-image";
@@ -17,6 +14,7 @@ export const saveDashboardPdf = async (
     return;
   }
 
+  const { default: html2canvas } = await import("html2canvas");
   const image = await html2canvas(node, {
     useCORS: true,
     onclone: (doc: Document, node: HTMLElement) => {
@@ -35,6 +33,7 @@ export const saveDashboardPdf = async (
   const pdfWidth = imageWidth;
   const pdfHeight = imageHeight + 80;
 
+  const { default: jspdf } = await import("jspdf");
   const pdf = new jspdf({
     unit: "px",
     hotfixes: ["px_scaling"],