diff --git a/public/js/extensions.js b/public/js/extensions.js
index 7549919d..f8c6a1b7 100644
--- a/public/js/extensions.js
+++ b/public/js/extensions.js
@@ -202,3 +202,8 @@ function CleanFileName(fileName)
// Umlaute seem to cause problems on Linux...
return fileName.toLowerCase().replaceAll(/ä/g, 'ae').replaceAll(/ö/g, 'oe').replaceAll(/ü/g, 'ue').replaceAll(/ß/g, 'ss');
}
+
+function nl2br(s)
+{
+ return s.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, "$1
$2");
+}
diff --git a/public/viewjs/components/chorecard.js b/public/viewjs/components/chorecard.js
index 64767375..85012427 100644
--- a/public/viewjs/components/chorecard.js
+++ b/public/viewjs/components/chorecard.js
@@ -6,6 +6,7 @@ Grocy.Components.ChoreCard.Refresh = function(choreId)
function(choreDetails)
{
$('#chorecard-chore-name').text(choreDetails.chore.name);
+ $('#chorecard-chore-description').html(nl2br(choreDetails.chore.description));
$('#chorecard-chore-last-tracked').text((choreDetails.last_tracked || __t('never')));
$('#chorecard-chore-last-tracked-timeago').attr("datetime", choreDetails.last_tracked || '');
$('#chorecard-chore-tracked-count').text((choreDetails.tracked_count || '0'));
diff --git a/views/components/chorecard.blade.php b/views/components/chorecard.blade.php
index 9163bee4..a0806b84 100644
--- a/views/components/chorecard.blade.php
+++ b/views/components/chorecard.blade.php
@@ -22,6 +22,10 @@