@@ -6,7 +6,7 @@ ms.author: msedgedevrel
66ms.topic : conceptual
77ms.service : microsoft-edge
88ms.subservice : webview
9- ms.date : 06/03 /2025
9+ ms.date : 08/11 /2025
1010---
1111# Overview of WebView2 APIs
1212
@@ -33,6 +33,7 @@ when adding an h4 heading, add nav link below the h2
3333 * [ Cookies] ( #cookies )
3434 * [ Image capture] ( #image-capture )
3535 * [ Control whether the screen capture UI is shown] ( #control-whether-the-screen-capture-ui-is-shown )
36+ * [ Find] ( #find )
3637 * [ Downloads] ( #downloads )
3738 * [ Save as] ( #save-as )
3839 * [ Configure the security warning when saving a file] ( #configure-the-security-warning-when-saving-a-file )
@@ -731,6 +732,111 @@ The `ScreenCaptureStarting` event is raised whenever the WebView2 and/or iframe
731732---
732733
733734
735+ <!-- ------------------------------ -->
736+ #### Find
737+
738+ The Find API allows you to programmatically control ** Find** operations, and enables adding the following functionality to your app:
739+ * Customize ** Find** options, including ** Find Term** , ** Case Sensitivity** , ** Word Matching** , ** Match Highlighting** , and ** Default UI Suppression** .
740+ * Find text strings and navigate among them within a WebView2 control.
741+ * Programmatically initiate ** Find** operations, and navigate ** Find** results.
742+ * Suppress the default ** Find** UI.
743+ * Track the status of ** Find** operations.
744+
745+ There are known issues with the Find API for PDF documents. When you view a PDF document within a WebView2 control, the ** Find** feature currently only provides the first index and the number of matches found. For example, if the string occurs three times in a PDF, the UI would say ** 1/3** and would not support programmatically calling ** Next** or ** Previous** .
746+
747+ We're actively investigating these issues, and we encourage you to report any problems you encounter, by using the [ WebView2Feedback] ( https://github.com/MicrosoftEdge/WebViewFeedback ) repo.
748+
749+ ##### [ .NET/C#] ( #tab/dotnetcsharp )
750+
751+ * ` CoreWebView2 ` Class:
752+ * [ CoreWebView2.Find Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2.find )
753+
754+ * ` CoreWebView2Environment ` Class:
755+ * [ CoreWebView2Environment.CreateFindOptions Method] ( /dotnet/api/microsoft.web.webview2.core.corewebview2environment.createfindoptions )
756+
757+ * [ CoreWebView2Find Class] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find )
758+ * [ CoreWebView2Find.ActiveMatchIndex Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.activematchindex )
759+ * [ CoreWebView2Find.ActiveMatchIndexChanged Event] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.activematchindexchanged )
760+ * [ CoreWebView2Find.FindNext Method] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.findnext )
761+ * [ CoreWebView2Find.FindPrevious Method] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.findprevious )
762+ * [ CoreWebView2Find.MatchCount Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.matchcount )
763+ * [ CoreWebView2Find.MatchCountChanged Event] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.matchcountchanged )
764+ * [ CoreWebView2Find.StartAsync Method] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.startasync )
765+ * [ CoreWebView2Find.Stop Method] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.stop )
766+
767+ * [ CoreWebView2FindOptions Class] ( /dotnet/api/microsoft.web.webview2.core.corewebview2findoptions )
768+ * [ CoreWebView2FindOptions.FindTerm Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2findoptions.findterm )
769+ * [ CoreWebView2FindOptions.IsCaseSensitive Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2findoptions.iscasesensitive )
770+ * [ CoreWebView2FindOptions.ShouldHighlightAllMatches Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2findoptions.shouldhighlightallmatches )
771+ * [ CoreWebView2FindOptions.ShouldMatchWord Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2findoptions.shouldmatchword )
772+ * [ CoreWebView2FindOptions.SuppressDefaultFindDialog Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2findoptions.suppressdefaultfinddialog )
773+
774+ ##### [ WinRT/C#] ( #tab/winrtcsharp )
775+
776+ * ` CoreWebView2 ` Class:
777+ * [ CoreWebView2.Find Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2#find )
778+
779+ * ` CoreWebView2Environment ` Class:
780+ * [ CoreWebView2Environment.CreateFindOptions Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environment#createfindoptions )
781+
782+ * [ CoreWebView2Find Class] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find )
783+ * [ CoreWebView2Find.ActiveMatchIndex Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#activematchindex )
784+ * [ CoreWebView2Find.ActiveMatchIndexChanged Event] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#activematchindexchanged )
785+ * [ CoreWebView2Find.FindNext Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#findnext )
786+ * [ CoreWebView2Find.FindPrevious Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#findprevious )
787+ * [ CoreWebView2Find.MatchCount Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#matchcount )
788+ * [ CoreWebView2Find.MatchCountChanged Event] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#matchcountchanged )
789+ * [ CoreWebView2Find.StartAsync Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#startasync )
790+ * [ CoreWebView2Find.Stop Method] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#stop )
791+
792+ * [ CoreWebView2FindOptions Class] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2findoptions )
793+ * [ CoreWebView2FindOptions.FindTerm Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2findoptions#findterm )
794+ * [ CoreWebView2FindOptions.IsCaseSensitive Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2findoptions#iscasesensitive )
795+ * [ CoreWebView2FindOptions.ShouldHighlightAllMatches Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2findoptions#shouldhighlightallmatches )
796+ * [ CoreWebView2FindOptions.ShouldMatchWord Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2findoptions#shouldmatchword )
797+ * [ CoreWebView2FindOptions.SuppressDefaultFindDialog Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2findoptions#suppressdefaultfinddialog )
798+
799+ ##### [ Win32/C++] ( #tab/win32cpp )
800+
801+ * [ ICoreWebView2_28] ( /microsoft-edge/webview2/reference/win32/icorewebview2_28 )
802+ * [ ICoreWebView2_28::get_Find] ( /microsoft-edge/webview2/reference/win32/icorewebview2_28#get_find )
803+
804+ * [ ICoreWebView2Environment15] ( /microsoft-edge/webview2/reference/win32/icorewebview2environment15 )
805+ * [ ICoreWebView2Environment15::CreateFindOptions] ( /microsoft-edge/webview2/reference/win32/icorewebview2environment15#createfindoptions )
806+
807+ * [ ICoreWebView2Find] ( /microsoft-edge/webview2/reference/win32/icorewebview2find )
808+ * [ ICoreWebView2Find::add_ActiveMatchIndexChanged] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#add_activematchindexchanged )
809+ * [ ICoreWebView2Find::add_MatchCountChanged] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#add_matchcountchanged )
810+ * [ ICoreWebView2Find::FindNext] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#findnext )
811+ * [ ICoreWebView2Find::FindPrevious] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#findprevious )
812+ * [ ICoreWebView2Find::get_ActiveMatchIndex] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#get_activematchindex )
813+ * [ ICoreWebView2Find::get_MatchCount] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#get_matchcount )
814+ * [ ICoreWebView2Find::remove_ActiveMatchIndexChanged] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#remove_activematchindexchanged )
815+ * [ ICoreWebView2Find::remove_MatchCountChanged] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#remove_matchcountchanged )
816+ * [ ICoreWebView2Find::Start] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#start )
817+ * [ ICoreWebView2Find::Stop] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#stop )
818+
819+ * [ ICoreWebView2FindActiveMatchIndexChangedEventHandler] ( /microsoft-edge/webview2/reference/win32/icorewebview2findactivematchindexchangedeventhandler )
820+
821+ * [ ICoreWebView2FindMatchCountChangedEventHandler] ( /microsoft-edge/webview2/reference/win32/icorewebview2findmatchcountchangedeventhandler )
822+
823+ * [ ICoreWebView2FindOptions] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions )
824+ * [ ICoreWebView2FindOptions::get_FindTerm] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#get_findterm )
825+ * [ ICoreWebView2FindOptions::get_IsCaseSensitive] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#get_iscasesensitive )
826+ * [ ICoreWebView2FindOptions::get_ShouldHighlightAllMatches] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#get_shouldhighlightallmatches )
827+ * [ ICoreWebView2FindOptions::get_ShouldMatchWord] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#get_shouldmatchword )
828+ * [ ICoreWebView2FindOptions::get_SuppressDefaultFindDialog] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#get_suppressdefaultfinddialog )
829+ * [ ICoreWebView2FindOptions::put_FindTerm] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#put_findterm )
830+ * [ ICoreWebView2FindOptions::put_IsCaseSensitive] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#put_iscasesensitive )
831+ * [ ICoreWebView2FindOptions::put_ShouldHighlightAllMatches] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#put_shouldhighlightallmatches )
832+ * [ ICoreWebView2FindOptions::put_ShouldMatchWord] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#put_shouldmatchword )
833+ * [ ICoreWebView2FindOptions::put_SuppressDefaultFindDialog] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#put_suppressdefaultfinddialog )
834+
835+ * [ ICoreWebView2FindStartCompletedHandler] ( /microsoft-edge/webview2/reference/win32/icorewebview2findstartcompletedhandler )
836+
837+ ---
838+
839+
734840<!-- ------------------------------ -->
735841#### Downloads
736842
@@ -1256,7 +1362,6 @@ To experiment with Fluent overlay scrollbars, in Microsoft Edge, go to `edge://f
12561362
12571363See also:
12581364* [ WebView2 browser flags] ( ./webview-features-flags.md ) - ` msEdgeFluentOverlayScrollbar ` and ` msOverlayScrollbarWinStyle ` flags.
1259- <!-- todo: article to link to? -->
12601365
12611366##### [ .NET/C#] ( #tab/dotnetcsharp )
12621367
0 commit comments