diff --git a/src/Text/Pandoc/Readers/Org/Inlines.hs b/src/Text/Pandoc/Readers/Org/Inlines.hs
index dc6b739fe..d0e007312 100644
--- a/src/Text/Pandoc/Readers/Org/Inlines.hs
+++ b/src/Text/Pandoc/Readers/Org/Inlines.hs
@@ -118,6 +118,7 @@ inline =
          , subscript
          , superscript
          , inlineLaTeX
+         , exportSnippet
          , smart
          , symbol
          ] <* (guard =<< newlinesCountWithinLimits)
@@ -129,7 +130,7 @@ inlines = trimInlinesF . mconcat <$> many1 inline
 
 -- treat these as potentially non-text when parsing inline:
 specialChars :: [Char]
-specialChars = "\"$'()*+-,./:;<=>[\\]^_{|}~"
+specialChars = "\"$'()*+-,./:;<=>@[\\]^_{|}~"
 
 
 whitespace :: OrgParser (F Inlines)
@@ -841,6 +842,13 @@ inlineLaTeXCommand = try $ do
 dropWhileEnd :: (a -> Bool) -> [a] -> [a]
 dropWhileEnd p = foldr (\x xs -> if p x && null xs then [] else x : xs) []
 
+exportSnippet :: OrgParser (F Inlines)
+exportSnippet = try $ do
+  string "@@"
+  format <- many1Till (alphaNum <|> char '-') (char ':')
+  snippet <- manyTill anyChar (try $ string "@@")
+  returnF $ B.rawInline format snippet
+
 smart :: OrgParser (F Inlines)
 smart = do
   getOption readerSmart >>= guard
diff --git a/tests/Tests/Readers/Org.hs b/tests/Tests/Readers/Org.hs
index ab50aa49c..56dedee55 100644
--- a/tests/Tests/Readers/Org.hs
+++ b/tests/Tests/Readers/Org.hs
@@ -405,6 +405,10 @@ tests =
           "\\notacommand{foo}" =?>
           para (rawInline "latex" "\\notacommand{foo}")
 
+      , "Export snippet" =:
+          "@@html:<kbd>M-x org-agenda</kbd>@@" =?>
+          para (rawInline "html" "<kbd>M-x org-agenda</kbd>")
+
       , "MathML symbol in LaTeX-style" =:
           "There is a hackerspace in Lübeck, Germany, called nbsp (unicode symbol: '\\nbsp')." =?>
           para ("There is a hackerspace in Lübeck, Germany, called nbsp (unicode symbol: ' ').")