diff --git a/src/app/previewengine.cpp b/src/app/previewengine.cpp
index bd9f1bc65500cc3fd1b558dd0cc94ee8bb089ec5..5f4490f1166027b754687f0fe77d7cc6f4e933ff 100644
--- a/src/app/previewengine.cpp
+++ b/src/app/previewengine.cpp
@@ -27,7 +27,8 @@ getInnerHtml(const QString& tag)
     return match.hasMatch() ? match.captured(1) : QString {};
 };
 
-const QRegularExpression PreviewEngine::newlineRe("\\n");
+// Portable newline regex.
+const QRegularExpression PreviewEngine::newlineRe("\\r?\\n");
 
 PreviewEngine::PreviewEngine(ConnectivityMonitor* cm, QObject* parent)
     : NetworkManager(cm, parent)
@@ -83,7 +84,6 @@ PreviewEngine::getDescription(HtmlParser::TagInfoList& metaTags)
 QString
 PreviewEngine::getImage(HtmlParser::TagInfoList& metaTags)
 {
-    static const QRegularExpression newlineRe("\\n");
     // Try with og/twitter props
     QString image = getTagContent(metaTags[TidyTag_META], "image");
     if (image.isEmpty()) { // Try with href of link tag (rel="image_src")