diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp
index aa9a2cf10374b029e697207da3d63e0ec50c70c4..81c945d5c42243a705f2108c3a7238d123d9d3c7 100644
--- a/src/core/web_contents_adapter.cpp
+++ b/src/core/web_contents_adapter.cpp
@@ -576,6 +576,12 @@ void WebContentsAdapter::selectAll()
     d->webContents->SelectAll();
 }
 
+void WebContentsAdapter::unselect()
+{
+    Q_D(const WebContentsAdapter);
+    d->webContents->Unselect();
+}
+
 void WebContentsAdapter::navigateToIndex(int offset)
 {
     Q_D(WebContentsAdapter);
diff --git a/src/core/web_contents_adapter.h b/src/core/web_contents_adapter.h
index 9de22c133d76ed14895ce1d82c1f6ee80de58824..c2ab657620fdc7a25596ec09310a87f9fd543732 100644
--- a/src/core/web_contents_adapter.h
+++ b/src/core/web_contents_adapter.h
@@ -90,6 +90,7 @@ public:
     void paste();
     void pasteAndMatchStyle();
     void selectAll();
+    void unselect();
 
     void navigateToIndex(int);
     void navigateToOffset(int);
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
index 431d33c932d76c0ac9a6c71166dbfa4cc41a2675..c1b21adfa7439bbbbd07089e6d5a159cc3b5cded 100644
--- a/src/webengine/api/qquickwebengineview.cpp
+++ b/src/webengine/api/qquickwebengineview.cpp
@@ -208,6 +208,9 @@ bool QQuickWebEngineViewPrivate::contextMenuRequested(const WebEngineContextMenu
         item = new MenuItemHandler(menu);
         QObject::connect(item, &MenuItemHandler::triggered, [q] { q->triggerWebAction(QQuickWebEngineView::Copy); });
         ui()->addMenuItem(item, QQuickWebEngineView::tr("Copy"));
+        item = new MenuItemHandler(menu);
+        QObject::connect(item, &MenuItemHandler::triggered, [q] { q->triggerWebAction(QQuickWebEngineView::Unselect); });
+        ui()->addMenuItem(item, QQuickWebEngineView::tr("Unselect"));
     }
 
     if (!contextMenuData.linkText.isEmpty() && contextMenuData.linkUrl.isValid()) {
@@ -1192,6 +1195,9 @@ void QQuickWebEngineView::triggerWebAction(WebAction action)
     case PasteAndMatchStyle:
         d->adapter->pasteAndMatchStyle();
         break;
+    case Unselect:
+        d->adapter->unselect();
+        break;
     case OpenLinkInThisWindow:
         if (d->contextMenuData.linkUrl.isValid())
             setUrl(d->contextMenuData.linkUrl);
diff --git a/src/webengine/api/qquickwebengineview_p.h b/src/webengine/api/qquickwebengineview_p.h
index eff9b031e76b19fdf06806426c349c103d6955d9..b512648dd07d8bc22a33520d96f8bd93e6321044 100644
--- a/src/webengine/api/qquickwebengineview_p.h
+++ b/src/webengine/api/qquickwebengineview_p.h
@@ -230,6 +230,7 @@ public:
 
         InspectElement,
         ExitFullScreen,
+        Unselect,
 
         WebActionCount
     };
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index 3798371590e1e9d7ee12e2f08749ef46e828fbee..61e37decbe4b4f05e1755264376e2e83155fc04b 100644
--- a/src/webenginewidgets/api/qwebenginepage.cpp
+++ b/src/webenginewidgets/api/qwebenginepage.cpp
@@ -651,6 +651,9 @@ QAction *QWebEnginePage::action(WebAction action) const
     case ExitFullScreen:
         text = tr("Exit Full Screen Mode");
         break;
+    case Unselect:
+        text = tr("Unselect");
+        break;
     default:
         break;
     }
@@ -708,6 +711,9 @@ void QWebEnginePage::triggerAction(WebAction action, bool)
     case PasteAndMatchStyle:
         d->adapter->pasteAndMatchStyle();
         break;
+    case Unselect:
+        d->adapter->unselect();
+        break;
     case OpenLinkInThisWindow:
         if (d->m_menuData.linkUrl.isValid())
             setUrl(d->m_menuData.linkUrl);
@@ -1003,6 +1009,7 @@ QMenu *QWebEnginePage::createStandardContextMenu()
         menu->addAction(action);
     } else {
         menu->addAction(QWebEnginePage::action(Copy));
+        menu->addAction(QWebEnginePage::action(Unselect));
     }
 
     if (!contextMenuData.linkText.isEmpty() && contextMenuData.linkUrl.isValid()) {
diff --git a/src/webenginewidgets/api/qwebenginepage.h b/src/webenginewidgets/api/qwebenginepage.h
index ae616aaed97f437671345f941640bb7579554e9b..a729917789451e13fb9c14c158ef0d8478a2fadc 100644
--- a/src/webenginewidgets/api/qwebenginepage.h
+++ b/src/webenginewidgets/api/qwebenginepage.h
@@ -110,6 +110,7 @@ public:
 
         InspectElement,
         ExitFullScreen,
+        Unselect,
 
         WebActionCount
     };