diff --git a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/Bookmark.java b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/Bookmark.java
index 8985948..6bbd3a6 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/Bookmark.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/Bookmark.java
@@ -9,6 +9,7 @@
 import javax.persistence.FetchType;
 import javax.persistence.JoinColumn;
 import javax.persistence.Table;
+import javax.persistence.Transient;
 
 @Entity
 @Table(name = "bookmarks", schema = "benki")
@@ -30,4 +31,9 @@
       joinColumns = @JoinColumn(name = "bookmark"))
   @Column(name = "tag")
   public Set<String> tags;
+
+  @Transient
+  public String getDescriptionHtml() {
+    return new MarkdownConverter().htmlify(description);
+  }
 }
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/MarkdownConverter.java b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/MarkdownConverter.java
index 0a09b40..1fae62c 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/MarkdownConverter.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/MarkdownConverter.java
@@ -1,5 +1,46 @@
 package eu.mulk.mulkcms2.benki.bookmarks;
 
+import com.vladsch.flexmark.ext.abbreviation.AbbreviationExtension;
+import com.vladsch.flexmark.ext.autolink.AutolinkExtension;
+import com.vladsch.flexmark.ext.definition.DefinitionExtension;
+import com.vladsch.flexmark.ext.gfm.strikethrough.StrikethroughExtension;
+import com.vladsch.flexmark.ext.tables.TablesExtension;
+import com.vladsch.flexmark.ext.typographic.TypographicExtension;
+import com.vladsch.flexmark.html.HtmlRenderer;
+import com.vladsch.flexmark.parser.Parser;
+import com.vladsch.flexmark.util.data.MutableDataSet;
+import java.util.Arrays;
+import javax.enterprise.context.ApplicationScoped;
+
+@ApplicationScoped
 public class MarkdownConverter {
 
+  private final Parser parser;
+  private final HtmlRenderer renderer;
+
+  MarkdownConverter() {
+    var options = new MutableDataSet();
+    options.set(
+        Parser.EXTENSIONS,
+        Arrays.asList(
+            TablesExtension.create(),
+            StrikethroughExtension.create(),
+            AbbreviationExtension.create(),
+            AutolinkExtension.create(),
+            DefinitionExtension.create(),
+            TypographicExtension.create()));
+    options.set(Parser.FENCED_CODE_BLOCK_PARSER, true);
+    options.set(HtmlRenderer.SOFT_BREAK, "\n");
+    options.set(HtmlRenderer.HARD_BREAK, "<br />\n");
+    options.set(TypographicExtension.ENABLE_SMARTS, true);
+    options.set(TypographicExtension.ENABLE_QUOTES, true);
+
+    this.parser = Parser.builder(options).build();
+    this.renderer = HtmlRenderer.builder(options).build();
+  }
+
+  public String htmlify(String markdown) {
+    var parsedDocument = parser.parse(markdown);
+    return renderer.render(parsedDocument);
+  }
 }
diff --git a/src/main/resources/META-INF/resources/cms2/base.css b/src/main/resources/META-INF/resources/cms2/base.css
index fd224de..bb5d200 100644
--- a/src/main/resources/META-INF/resources/cms2/base.css
+++ b/src/main/resources/META-INF/resources/cms2/base.css
@@ -112,6 +112,7 @@
   background-color: var(--main-bg-color);
   padding: 10px;
   border-left: 1px solid lightgray;
+  overflow: scroll;
 }
 
 body > footer {
@@ -127,4 +128,20 @@
 
 h1.bookmark-title {
   font-size: 1em;
-}
\ No newline at end of file
+  margin: 0;
+  padding: 0;
+}
+
+.bookmark-info {
+  font-style: italic;
+  font-size: smaller;
+  margin: 0;
+  padding: 0;
+}
+
+article.bookmark {
+  margin: 0.5em 0;
+  border: 1px solid lightcoral;
+  padding: 0.3em;
+  background: #fee;
+}
diff --git a/src/main/resources/templates/benki/bookmarks/bookmarkList.html b/src/main/resources/templates/benki/bookmarks/bookmarkList.html
index 4ad97fd..0d392c8 100644
--- a/src/main/resources/templates/benki/bookmarks/bookmarkList.html
+++ b/src/main/resources/templates/benki/bookmarks/bookmarkList.html
@@ -15,14 +15,14 @@
     <article class="bookmark">
       <header>
         <a href="{uri}"><h1 class="bookmark-title">{title}</h1></a>
-        <div>
+        <div class="bookmark-info">
           <time datetime="{date.htmlDateTime}">{date.humanDateTime}</time>
           <span class="bookmark-owner">{owner.firstName} {owner.lastName}</span>
         </div>
       </header>
 
       <section class="bookmark-description">
-        {description}
+        {descriptionHtml.raw}
       </section>
     </article>
   {/with}
