diff --git a/src/components/style_switcher/style_switcher.js b/src/components/style_switcher/style_switcher.js
index d5881a31dc298b0e61adb8e690d8f2dbb13cf593..7ab56ea2d87a1bbb9902d5f9d1f1bf7f72de68f3 100644
--- a/src/components/style_switcher/style_switcher.js
+++ b/src/components/style_switcher/style_switcher.js
@@ -52,6 +52,28 @@ export default {
       document.body.removeChild(e)
     },
 
+    importTheme () {
+      const filePicker = document.createElement('input')
+      filePicker.setAttribute('type', 'file')
+      filePicker.setAttribute('accept', '.json')
+
+      filePicker.addEventListener('change', event => {
+        if (event.target.files[0]) {
+          // eslint-disable-next-line no-undef
+          const reader = new FileReader()
+          reader.onload = ({target}) => {
+            const parsed = JSON.parse(target.result)
+            this.normalizeLocalState(parsed.colors, parsed.radii)
+          }
+          reader.readAsText(event.target.files[0])
+        }
+      })
+
+      document.body.appendChild(filePicker)
+      filePicker.click()
+      document.body.removeChild(filePicker)
+    },
+
     setCustomTheme () {
       if (!this.bgColorLocal && !this.btnColorLocal && !this.linkColorLocal) {
         // reset to picked themes
diff --git a/src/components/style_switcher/style_switcher.vue b/src/components/style_switcher/style_switcher.vue
index c8d955e15a2ff3874bd02c8abc80a0dc34778960..0bc08bd7ce959035a26a229d207ba804966fed71 100644
--- a/src/components/style_switcher/style_switcher.vue
+++ b/src/components/style_switcher/style_switcher.vue
@@ -10,6 +10,7 @@
     </div>
     <div>
       <button class="btn" @click="exportCurrentTheme">{{ $t('settings.export_theme') }}</button>
+      <button class="btn" @click="importTheme">{{ $t('settings.import_theme') }}</button>
     </div>
     <div class="color-container">
       <p>{{$t('settings.theme_help')}}</p>
diff --git a/src/i18n/messages.js b/src/i18n/messages.js
index ee0fcd2a250988f6bf73b4f0ed058dce45502a4c..cc9090c77aabd237c9f4af23de3b4c23ea232b71 100644
--- a/src/i18n/messages.js
+++ b/src/i18n/messages.js
@@ -289,6 +289,7 @@ const en = {
     theme: 'Theme',
     presets: 'Presets',
     export_theme: 'Export current theme',
+    import_theme: 'Load saved theme',
     theme_help: 'Use hex color codes (#rrggbb) to customize your color theme.',
     radii_help: 'Set up interface edge rounding (in pixels)',
     background: 'Background',