diff --git a/client/app/components/EditVisualizationButton/QueryControlDropdown.jsx b/client/app/components/EditVisualizationButton/QueryControlDropdown.jsx
index 89ce988fd3..2a2b4989f0 100644
--- a/client/app/components/EditVisualizationButton/QueryControlDropdown.jsx
+++ b/client/app/components/EditVisualizationButton/QueryControlDropdown.jsx
@@ -66,6 +66,17 @@ export default function QueryControlDropdown(props) {
Download as Excel File
+
+
+ Download as JSON File
+
+
);
diff --git a/client/app/components/dashboards/dashboard-widget/VisualizationWidget.jsx b/client/app/components/dashboards/dashboard-widget/VisualizationWidget.jsx
index 9a021cc8bd..01d43d0afe 100644
--- a/client/app/components/dashboards/dashboard-widget/VisualizationWidget.jsx
+++ b/client/app/components/dashboards/dashboard-widget/VisualizationWidget.jsx
@@ -58,6 +58,15 @@ function visualizationWidgetMenuOptions({ widget, canEditDashboard, onParameters
"Download as Excel File"
)}
,
+
+ {!isQueryResultEmpty ? (
+
+ Download as JSON File
+
+ ) : (
+ "Download as JSON File"
+ )}
+ ,
(canViewQuery || canEditParameters) && ,
canViewQuery && (
diff --git a/client/app/pages/queries/VisualizationEmbed.jsx b/client/app/pages/queries/VisualizationEmbed.jsx
index a4bcaf3177..37411d47b4 100644
--- a/client/app/pages/queries/VisualizationEmbed.jsx
+++ b/client/app/pages/queries/VisualizationEmbed.jsx
@@ -100,6 +100,17 @@ function VisualizationEmbedFooter({
Download as Excel File
+
+
+ Download as JSON File
+
+
);