diff --git a/app/assets/javascripts/discourse/lib/to-markdown.js.es6 b/app/assets/javascripts/discourse/lib/to-markdown.js.es6
index 6fb56e4db8f..fa8259b7df4 100644
--- a/app/assets/javascripts/discourse/lib/to-markdown.js.es6
+++ b/app/assets/javascripts/discourse/lib/to-markdown.js.es6
@@ -359,7 +359,7 @@ const tags = [
   ...Tag.emphases().map((e) => Tag.emphasis(e[0], e[1])),
   Tag.cell("td"), Tag.cell("th"),
   Tag.replace("br", "\n"), Tag.replace("hr", "\n---\n"), Tag.replace("head", ""),
-  Tag.keep("ins"), Tag.keep("del"), Tag.keep("small"), Tag.keep("big"),
+  Tag.keep("ins"), Tag.keep("del"), Tag.keep("small"), Tag.keep("big"), Tag.keep("kbd"),
   Tag.li(), Tag.link(), Tag.image(), Tag.code(), Tag.blockquote(), Tag.table(), Tag.tr(), Tag.ol(), Tag.list("ul"),
 ];
 
diff --git a/test/javascripts/lib/to-markdown-test.js.es6 b/test/javascripts/lib/to-markdown-test.js.es6
index d310d97f20a..6336da48ad1 100644
--- a/test/javascripts/lib/to-markdown-test.js.es6
+++ b/test/javascripts/lib/to-markdown-test.js.es6
@@ -181,6 +181,9 @@ QUnit.test("supporting html tags by keeping them", assert => {
   html = `Lorem <del>ipsum dolor</del> sit.`;
   assert.equal(toMarkdown(html), html);
 
+  html = `Have you tried clicking the <kbd>Help Me!</kbd> button?`;
+  assert.equal(toMarkdown(html), html);
+
   html = `Lorem <a href="http://example.com"><del>ipsum \n\n\n dolor</del> sit.</a>`;
   output = `Lorem [<del>ipsum dolor</del> sit.](http://example.com)`;
   assert.equal(toMarkdown(html), output);