diff --git a/src/components/attachment/attachment.js b/src/components/attachment/attachment.js
index 99958589..47ca03de 100644
--- a/src/components/attachment/attachment.js
+++ b/src/components/attachment/attachment.js
@@ -23,6 +23,10 @@ const Attachment = {
         type = 'video'
       };
 
+      if (this.attachment.mimetype.match(/ogg|audio/)) {
+        type = 'audio'
+      }
+
       return type
     }
   },
diff --git a/src/components/attachment/attachment.vue b/src/components/attachment/attachment.vue
index 0e2a228a..4e8c1407 100644
--- a/src/components/attachment/attachment.vue
+++ b/src/components/attachment/attachment.vue
@@ -8,6 +8,8 @@
 
     <video v-if="type === 'video' && !nsfw" :src="attachment.url" controls></video>
 
+    <audio v-if="type === 'audio'" :src="attachment.url" controls></audio>
+
     <span v-if="type === 'unknown'">Don't know how to display this...</span>
 
     <div v-if="type === 'html' && attachment.oembed" class="oembed">
@@ -42,6 +44,10 @@
               width: 100%;
           }
 
+          audio {
+              width: 100%;
+          }
+
           img.media-upload {
               width: 100%;
               height: 100%;