diff --git a/app/lib/utils/export_data.dart b/app/lib/utils/export_data.dart
index f97a2e1cdff1123341fd69cede18eae649dde357..f7a124b4d2bf0fa50dd5d134883b7de4288bec1c 100644
--- a/app/lib/utils/export_data.dart
+++ b/app/lib/utils/export_data.dart
@@ -11,11 +11,14 @@ Future<void> _exportIceData() async {
   final directory = await getExternalStorageDirectory();
   final file = File('${directory?.path}/ice_data_$selectedLake.json');
 
-  // Convert JSON data to string
-  final jsonString = jsonEncode(selectedMeasurements);
+  List<Map<String, dynamic>> measurementsJSON = [];
+  // Convert every measurement to JSON
+  for (var element in selectedMeasurements) {
+    measurementsJSON.add(element.toJson());
+  }
 
   // Write JSON data to file
-  await file.writeAsString(jsonString);
+  await file.writeAsString(measurementsJSON.toString());
 }
 
 
diff --git a/app/lib/widgets/main_layout.dart b/app/lib/widgets/main_layout.dart
index 531469c4e272066918a9b0688a1e90e898740211..4b088ce2df066af3543337178e7d56a0492f744e 100644
--- a/app/lib/widgets/main_layout.dart
+++ b/app/lib/widgets/main_layout.dart
@@ -198,21 +198,41 @@ class _MapContainerWidgetState extends State<MapContainerWidget> {
                                             style: const TextStyle(fontSize: 20),
                                         ),
                                         const SizedBox(height: contPadding),
-                                        ElevatedButton(
-                                          style: ButtonStyle(
-                                            backgroundColor: MaterialStateProperty.all<Color>(Colors.white24),
-                                          ),
-                                          child: const Text("Export JSON"),
-                                          onPressed: () { // Export all measurements as JSON
-                                            List<Map<String, dynamic>> measurementsJSON = [];
-                                            // Convert every measurement to JSON
-                                            for (var element in selectedMeasurements) {
-                                              measurementsJSON.add(element.toJson());
-                                            }
-                                            // Export the processed data
-                                            Share.share(selectedMeasurements.toString());
-                                          },
-                                        )
+                                        Column(
+                                          children: [
+                                            ElevatedButton(
+                                              style: ButtonStyle(
+                                                backgroundColor:
+                                                MaterialStateProperty.all<Color>(Colors.white24),
+                                                fixedSize: MaterialStateProperty.all<Size>(
+                                                  const Size(200.0, 40.0),
+                                                ),
+                                              ),
+                                              child: const Text("Download as JSON"),
+                                              onPressed: () { // Download all measurements as JSON
+                                                showProgressIndicator(context);
+                                              },
+                                            ),
+                                            ElevatedButton(
+                                              style: ButtonStyle(
+                                                backgroundColor: MaterialStateProperty.all<Color>(Colors.white24),
+                                                fixedSize: MaterialStateProperty.all<Size>(
+                                                  const Size(200.0, 40.0),
+                                                ),
+                                              ),
+                                              child: const Text("Share as JSON"),
+                                              onPressed: () { // Export all measurements as JSON
+                                                List<Map<String, dynamic>> measurementsJSON = [];
+                                                // Convert every measurement to JSON
+                                                for (var element in selectedMeasurements) {
+                                                  measurementsJSON.add(element.toJson());
+                                                }
+                                                // Export the processed data
+                                                Share.share(measurementsJSON.toString());
+                                              },
+                                            ),
+                                          ],
+                                        ),
                                       ],
                                     ),
                                 ),
@@ -276,7 +296,7 @@ class _MapContainerWidgetState extends State<MapContainerWidget> {
                 ),
               ],
             ),
-            const SizedBox(height: contPadding), // Padding between containers
+            const SizedBox(height: contPadding*1.7), // Padding between containers
             Column( // Ice stats container
               crossAxisAlignment: CrossAxisAlignment.start,
               children: [