diff --git a/interface/src/ui/PreferencesDialog.cpp b/interface/src/ui/PreferencesDialog.cpp
index 36df5c93f4..6d13f586d4 100644
--- a/interface/src/ui/PreferencesDialog.cpp
+++ b/interface/src/ui/PreferencesDialog.cpp
@@ -250,22 +250,30 @@ void setupPreferences() {
     }
 
     {
-        auto getter = []()->int { return DependencyManager::get<Snapshot>()->getAvailableSnapshotFormats().indexOf(DependencyManager::get<Snapshot>()->getSnapshotFormat()); };
+        auto getter = []()->int {
+            if (!DependencyManager::get<Snapshot>()->_snapshotFormat.isSet()) {
+                DependencyManager::get<Snapshot>()->setSnapshotFormat(DependencyManager::get<Snapshot>()->getAvailableSnapshotFormats()[0]);
+            }
+            return DependencyManager::get<Snapshot>()->getAvailableSnapshotFormats().indexOf(DependencyManager::get<Snapshot>()->getSnapshotFormat()); };
         auto setter = [](int value) { DependencyManager::get<Snapshot>()->setSnapshotFormat(DependencyManager::get<Snapshot>()->getAvailableSnapshotFormats()[value]); };
         auto preference = new RadioButtonsPreference(SNAPSHOTS, "Snapshot format", getter, setter);
         QStringList items;
-        items << DependencyManager::get<Snapshot>()->getAvailableSnapshotFormats();
+        items << DependencyManager::get<Snapshot>()->getAvailableSnapshotFormatsWithDescriptions();
         preference->setHeading("Snapshot format");
         preference->setItems(items);
         preferences->addPreference(preference);
     }
 
     {
-        auto getter = []()->int { return DependencyManager::get<Snapshot>()->getAvailableAnimatedSnapshotFormats().indexOf(DependencyManager::get<Snapshot>()->getAnimatedSnapshotFormat()); };
+        auto getter = []()->int {
+            if (!DependencyManager::get<Snapshot>()->_animatedSnapshotFormat.isSet()) {
+                DependencyManager::get<Snapshot>()->setAnimatedSnapshotFormat(DependencyManager::get<Snapshot>()->getAvailableAnimatedSnapshotFormats()[0]);
+            }
+            return DependencyManager::get<Snapshot>()->getAvailableAnimatedSnapshotFormats().indexOf(DependencyManager::get<Snapshot>()->getAnimatedSnapshotFormat()); };
         auto setter = [](int value) { DependencyManager::get<Snapshot>()->setAnimatedSnapshotFormat(DependencyManager::get<Snapshot>()->getAvailableAnimatedSnapshotFormats()[value]); };
         auto preference = new RadioButtonsPreference(SNAPSHOTS, "Animated snapshot format", getter, setter);
         QStringList items;
-        items << DependencyManager::get<Snapshot>()->getAvailableAnimatedSnapshotFormats();
+        items << DependencyManager::get<Snapshot>()->getAvailableAnimatedSnapshotFormatsWithDescriptions();
         preference->setHeading("Animated snapshot format");
         preference->setItems(items);
         preferences->addPreference(preference);
diff --git a/interface/src/ui/Snapshot.cpp b/interface/src/ui/Snapshot.cpp
index aaffbade3c..2884574767 100644
--- a/interface/src/ui/Snapshot.cpp
+++ b/interface/src/ui/Snapshot.cpp
@@ -552,6 +552,14 @@ QStringList Snapshot::getAvailableSnapshotFormats() {
     return QStringList({"png", "jpg", "webp"});
 }
 
+QStringList Snapshot::getAvailableSnapshotFormatsWithDescriptions() {
+    return QStringList({"PNG - lossless, large file size", "JPG - lossy, fast compression", "WEBP - lossy, higher quality and file size than JPG"});
+}
+
 QStringList Snapshot::getAvailableAnimatedSnapshotFormats() {
     return QStringList({"gif"});
 }
+
+QStringList Snapshot::getAvailableAnimatedSnapshotFormatsWithDescriptions() {
+    return QStringList({"GIF"});
+}
diff --git a/interface/src/ui/Snapshot.h b/interface/src/ui/Snapshot.h
index ad55186be4..61af735af7 100644
--- a/interface/src/ui/Snapshot.h
+++ b/interface/src/ui/Snapshot.h
@@ -135,12 +135,26 @@ public slots:
      */
     Q_INVOKABLE QStringList getAvailableSnapshotFormats();
 
+    /*@jsdoc
+     * Returns a list of supported snapshot formats with short descriptions.
+     * @function Snapshot.getAvailableSnapshotFormatsWithDescriptions
+     * @returns {Array.<string>} List of supported snapshot formats with short descriptions.
+     */
+    Q_INVOKABLE QStringList getAvailableSnapshotFormatsWithDescriptions();
+
     /*@jsdoc
      * Returns a list of supported animated snapshot formats.
      * @function Snapshot.getAvailableAnimatedSnapshotFormats
      * @returns {Array.<string>} List of supported animated snapshot formats.
      */
     Q_INVOKABLE QStringList getAvailableAnimatedSnapshotFormats();
+
+    /*@jsdoc
+     * Returns a list of supported animated snapshot formats with short descriptions.
+     * @function Snapshot.getAvailableAnimatedSnapshotFormatsWithDescriptions
+     * @returns {Array.<string>} List of supported animated snapshot formats with short descriptions.
+     */
+    Q_INVOKABLE QStringList getAvailableAnimatedSnapshotFormatsWithDescriptions();