diff --git a/src/lang/en.js b/src/lang/en.js
index fd23f37957958a83319e584f3a3d04e509a78f2e..c7903c68f503296d9b1f5689ddc47915f2d71d45 100644
--- a/src/lang/en.js
+++ b/src/lang/en.js
@@ -313,7 +313,17 @@ export default {
     database: 'Database',
     other: 'Other',
     success: 'Settings changed successfully!',
-    emojiPacks: 'Emoji packs'
+    emojiPacks: 'Emoji packs',
+    reloadEmoji: 'Reload emoji',
+    importPacks: 'Import packs from the server filesystem',
+    importEmojiTooltip: 'Importing from the filesystem will scan the directories and import those without pack.json but with emoji.txt or without neither',
+    localPacks: 'Local packs',
+    refreshLocalPacks: 'Refresh local packs',
+    createLocalPack: 'Create a new local pack',
+    packs: 'Packs',
+    remotePacks: 'Remote packs',
+    remoteInstanceAddress: 'Remote instance address',
+    refreshRemote: 'Refresh remote packs'
   },
   invites: {
     inviteTokens: 'Invite tokens',
diff --git a/src/views/emojiPacks/index.vue b/src/views/emojiPacks/index.vue
index 642f6ef804e193d0899fc15430bd24cad896a339..c798f8b5aba62b18220692c2404f99839eadb2d0 100644
--- a/src/views/emojiPacks/index.vue
+++ b/src/views/emojiPacks/index.vue
@@ -1,123 +1,89 @@
 <template>
-  <el-container class="emoji-packs-container">
-    <el-header>
-      <h1>
-        Emoji packs
-      </h1>
-    </el-header>
-
-    <el-row class="local-packs-actions">
-      <el-button type="primary" @click="reloadEmoji">
-        Reload emoji
-      </el-button>
-
-      <el-tooltip effects="dark" content="Importing from the filesystem will scan the directories and import those without pack.json but with emoji.txt or without neither" placement="bottom">
-        <el-button type="success" @click="importFromFS">
-          Import packs from the server filesystem
+  <div>
+    <div class="button-container">
+      <el-button type="primary" @click="reloadEmoji">{{ $t('settings.reloadEmoji') }}</el-button>
+      <el-tooltip :content="$t('settings.importEmojiTooltip')" effects="dark" placement="bottom">
+        <el-button type="primary" @click="importFromFS">
+          {{ $t('settings.importPacks') }}
         </el-button>
       </el-tooltip>
-    </el-row>
-
-    <el-tabs v-model="activeName">
-      <el-tab-pane label="Local packs" name="local">
-        <div>
-          Local packs can be viewed and downloaded for backup here.
-        </div>
-
-        <div class="local-packs-actions">
-          <el-popover
-            v-model="createNewPackVisible"
-            placement="bottom"
-            trigger="click">
-
-            <el-input v-model="newPackName" placeholder="Name" />
-            <el-button
-              :disabled="newPackName.trim() === ''"
-              class="create-pack-button"
-              type="success"
-              @click="createLocalPack" >
-              Create
-            </el-button>
-
-            <el-button slot="reference" type="success">
-              Create a new local pack
-            </el-button>
-          </el-popover>
-
-          <el-button type="primary" @click="refreshLocalPacks">
-            Refresh local packs
+    </div>
+    <div class="line"/>
+    <el-form :label-width="labelWidth">
+      <el-form-item :label="$t('settings.localPacks')">
+        <el-button type="primary" @click="refreshLocalPacks">{{ $t('settings.refreshLocalPacks') }}</el-button>
+      </el-form-item>
+      <el-form-item :label="$t('settings.createLocalPack')">
+        <div class="create-pack">
+          <el-input v-model="newPackName" :placeholder="$t('users.name')" />
+          <el-button
+            :disabled="newPackName.trim() === ''"
+            class="create-pack-button"
+            @click="createLocalPack">
+            {{ $t('users.create') }}
           </el-button>
         </div>
-
-        <div v-for="(pack, name) in $store.state.emojiPacks.localPacks" :key="name">
+      </el-form-item>
+      <el-form-item v-if="localPacks.length > 0" :label="$t('settings.packs')">
+        <div v-for="(pack, name) in localPacks" :key="name">
           <emoji-pack :name="name" :pack="pack" :host="$store.getters.authHost" :is-local="true" />
           <el-divider />
         </div>
-      </el-tab-pane>
-
-      <el-tab-pane label="Remote packs" name="remote">
-        <el-input
-          v-model="remoteInstanceAddress"
-          class="remote-instance-input"
-          placeholder="Remote instance address" />
-        <el-button type="primary" @click="refreshRemotePacks">
-          Refresh remote packs
-        </el-button>
-
-        <div v-for="(pack, name) in $store.state.emojiPacks.remotePacks" :key="name">
-          <emoji-pack :name="name" :pack="pack" :host="remoteInstanceAddress" :is-local="false" />
+      </el-form-item>
+      <div class="line"/>
+      <el-form-item :label="$t('settings.remotePacks')">
+        <div class="create-pack">
+          <el-input
+            v-model="remoteInstanceAddress"
+            :placeholder="$t('settings.remoteInstanceAddress')" />
+          <el-button
+            :disabled="remoteInstanceAddress.trim() === ''"
+            class="create-pack-button"
+            @click="refreshRemotePacks">
+            {{ $t('settings.refreshRemote') }}
+          </el-button>
+        </div>
+      </el-form-item>
+      <el-form-item v-if="remotePacks.length > 0" :label="$t('settings.packs')">
+        <div v-for="(pack, name) in remotePacks" :key="name">
+          <emoji-pack :name="name" :pack="pack" :host="$store.getters.authHost" :is-local="true" />
           <el-divider />
         </div>
-
-      </el-tab-pane>
-    </el-tabs>
-  </el-container>
+      </el-form-item>
+    </el-form>
+  </div>
 </template>
 
-<style>
-  .emoji-packs-container {
-    margin: 22px 0 0 15px;
-  }
-
-  .local-packs-actions {
-    margin-top: 1em;
-    margin-bottom: 1em;
-  }
-
-  .remote-instance-input {
-    max-width: 10%;
-  }
-
-  .create-pack-button {
-    margin-top: 1em;
-  }
-</style>
-
 <script>
 import EmojiPack from './components/EmojiPack'
 
 export default {
   components: { EmojiPack },
-
   data() {
     return {
-      activeName: 'local',
       remoteInstanceAddress: '',
-      downloadFromState: null,
-
-      newPackName: '',
-      createNewPackVisible: false
+      newPackName: ''
+    }
+  },
+  computed: {
+    isMobile() {
+      return this.$store.state.app.device === 'mobile'
+    },
+    labelWidth() {
+      return this.isMobile ? '100px' : '210px'
+    },
+    localPacks() {
+      return this.$store.state.emojiPacks.localPacks
+    },
+    remotePacks() {
+      return this.$store.state.emojiPacks.remotePacks
     }
   },
-
   mounted() {
     this.refreshLocalPacks()
   },
-
   methods: {
     createLocalPack() {
-      this.createNewPackVisible = false
-
       this.$store.dispatch('CreatePack', { name: this.newPackName })
         .then(() => {
           this.newPackName = ''
@@ -126,19 +92,15 @@ export default {
           this.$store.dispatch('ReloadEmoji')
         })
     },
-
     refreshLocalPacks() {
       this.$store.dispatch('SetLocalEmojiPacks')
     },
-
     refreshRemotePacks() {
       this.$store.dispatch('SetRemoteEmojiPacks', { remoteInstance: this.remoteInstanceAddress })
     },
-
     reloadEmoji() {
       this.$store.dispatch('ReloadEmoji')
     },
-
     importFromFS() {
       this.$store.dispatch('ImportFromFS')
         .then(() => {
@@ -149,3 +111,22 @@ export default {
   }
 }
 </script>
+
+<style rel='stylesheet/scss' lang='scss'>
+.button-container {
+  margin: 0 0 22px 20px;
+}
+.create-pack {
+  display: flex;
+  justify-content: space-between
+}
+.create-pack-button {
+  margin-left: 10px;
+}
+.line {
+    width: 100%;
+    height: 0;
+    border: 1px solid #eee;
+    margin-bottom: 22px;
+  }
+</style>