diff --git a/R/posterdown_html.R b/R/posterdown_html.R
index a321229..87a6e05 100644
--- a/R/posterdown_html.R
+++ b/R/posterdown_html.R
@@ -23,19 +23,39 @@
 }
 
 
+#' @param url Target URL for the QR code
+#' @param logo Optional path to a logo image to place in the center of the QR code
+#' @param text Optional text/caption to display below the QR code (alias: \code{caption})
+#' @param caption Alias for \code{text}
 #' @description Print html code for a linked qr code to the given url
 #' @importFrom qrcode add_logo qr_code generate_svg
 #' @export
-qrlink <- function(url, logo = NULL) {
+qrlink <- function(url, logo = NULL, text = NULL, caption = text) {
   tmp <- tempfile(fileext = ".svg")
   qrcode <- qrcode::qr_code(url, ecl =  if(is.null(logo)) "L" else "H")
   if(!is.null(logo)) {
     qrcode <- qrcode::add_logo(qrcode, logo, ecl = "L")
   }
   qrcode::generate_svg(qrcode, tmp,  show = FALSE)
-  return(paste0( sprintf('<a class="qrcode" href="%s"><img class="qrcode">', url),
-                 gsub("\r?\n|\r", "", readChar(tmp, 1e7)),
-                 '</img></a>'
-         ))
+
+  cap_html <- if (!is.null(caption) && nchar(trimws(caption)) > 0) {
+    sprintf('<span class="qrcode-caption">%s</span>', caption)
+  } else {
+    ""
+  }
+
+  if (nchar(cap_html) > 0) {
+    return(paste0( '<div class="qrcode-container"><a class="qrcode" href="', url, '"><img class="qrcode">',
+                   gsub("\r?\n|\r", "", readChar(tmp, 1e7)),
+                   '</img></a>',
+                   cap_html,
+                   '</div>'
+           ))
+  } else {
+    return(paste0( sprintf('<a class="qrcode" href="%s"><img class="qrcode">', url),
+                   gsub("\r?\n|\r", "", readChar(tmp, 1e7)),
+                   '</img></a>'
+           ))
+  }
 }
 
diff --git a/README.md b/README.md
index 87f39a7..c90aa3b 100644
--- a/README.md
+++ b/README.md
@@ -34,7 +34,7 @@
     email: kupietz@ids-mannheim.de
     website: "http://korap.ids-mannheim.de/instance/icc"
     qrlink: >
-      `r posterdown.ids::qrlink('https://gitlab.ids-mannheim.de/ids/posterdown')`
+      `r posterdown.ids::qrlink('https://gitlab.ids-mannheim.de/ids/posterdown', text = 'Scan for repository & abstract')`
 second_logo:
   url: https&#58;//raw.githubusercontent.com/brentthorne/posterdown/master/images/betterhexlogo.png
   margin-left: 14.5cm
diff --git a/inst/rmarkdown/templates/posterdown_ids/resources/template.html b/inst/rmarkdown/templates/posterdown_ids/resources/template.html
index 967ee77..f0159b7 100644
--- a/inst/rmarkdown/templates/posterdown_ids/resources/template.html
+++ b/inst/rmarkdown/templates/posterdown_ids/resources/template.html
@@ -306,6 +306,27 @@
   margin-left: -10px;
 }
 
+#info-column .qrcode-container {
+  margin-bottom: 3.5em;
+}
+
+#info-column .qrcode-container .qrcode,
+#info-column .qrcode-container a.qrcode {
+  margin-bottom: 0.4em;
+  display: block;
+}
+
+#info-column .qrcode-caption {
+  display: block;
+  font-family: "Fira Sans Condensed", "Fira Sans Condensed Light", sans-serif;
+  font-size: 14pt;
+  line-height: 1.25;
+  color: #444444;
+  margin-left: 0;
+  max-width: 7.5cm;
+  word-wrap: break-word;
+}
+
 @media print {
 #info-column {
   /* Physical unit, NOT vh: in headless Chrome vh resolves against the browser
@@ -741,10 +762,27 @@
 </div>
   <div id="info-column">
     $if(contact.qrlink)$
+    $if(contact.qrtext)$
+    <div class="qrcode-container">
+    ${ contact.qrlink }
+    <span class="qrcode-caption">$contact.qrtext$</span>
+    </div>
+    <br/>
+    $elseif(contact.qrcaption)$
+    <div class="qrcode-container">
+    ${ contact.qrlink }
+    <span class="qrcode-caption">$contact.qrcaption$</span>
+    </div>
+    <br/>
+    $else$
     ${ contact.qrlink }
     <br/>
+    $endif$
     $elseif(contact.qrcode)$
+    <div class="qrcode-container">
     <img class="qrcode" src="$contact.qrcode$"/>
+    $if(contact.qrtext)$<span class="qrcode-caption">$contact.qrtext$</span>$elseif(contact.qrcaption)$<span class="qrcode-caption">$contact.qrcaption$</span>$endif$
+    </div>
     <br/>
     $endif$
     <b>$if(lang.de)$Kontakt$else$Contact$endif$:</b><br/>
diff --git a/inst/rmarkdown/templates/posterdown_ids/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/posterdown_ids/skeleton/skeleton.Rmd
index 8349dae..0252171 100644
--- a/inst/rmarkdown/templates/posterdown_ids/skeleton/skeleton.Rmd
+++ b/inst/rmarkdown/templates/posterdown_ids/skeleton/skeleton.Rmd
@@ -19,7 +19,7 @@
     email: kupietz@ids-mannheim.de
     website: "https://www.ids-mannheim.de/digspra/"
     qrlink: >
-      `r posterdown.ids::qrlink('https://korap.ids-mannheim.de/gerrit/plugins/gitiles/IDS-Mannheim/posterdown')`
+      `r posterdown.ids::qrlink('https://korap.ids-mannheim.de/gerrit/plugins/gitiles/IDS-Mannheim/posterdown', text = 'Scan for repository & source')`
 column_numbers: 2
 # logoright_name: https&#58;//raw.githubusercontent.com/brentthorne/posterdown/master/images/betterhexlogo.png
 second_logo:
