Blog

What is a WebView, and what Android System WebView is

How it works · · 8 min read

A WebView is the browser engine packaged as a component an app embeds. A WebView app uses that component to show a page in its own window, without Chrome or Edge's address bar, extensions or profile. Android System WebView is the Android copy: a preinstalled Google component that other apps use to display web content, and it does not share Chrome's data. On a computer the component is named WKWebView, WebView2 or WebKitGTK, and the system updates the engine rather than the app.

What a WebView is

Android's documentation describes WebView as a view that displays web pages. By default it shows a page, with no navigation controls and no address bar. The app creates the view and loads an address. Chrome's docs say the component is based on Chromium, shares Chrome for Android's rendering engine, and ships as an APK updated apart from the system image.

What each platform calls it

The Play Store app is titled Android System WebView, from Google LLC. The listing calls it a preinstalled system component for displaying web content in Android apps, and says the content is powered by Chrome. Since Android Lollipop the updatable part has shipped as an APK or App Bundle, and Chromium calls that package the WebView provider. With Google Play, from Android 10, the default package is com.google.android.webview.

On a Mac and on iOS the class is WKWebView, an object that displays interactive web content, such as an in-app browser. It replaced UIWebView in iOS 8 and the older macOS WebView class in macOS 10.10. WKWebView explained covers the Mac store and the inspector.

Windows uses Microsoft Edge WebView2, which embeds HTML, CSS and JavaScript and renders them with Edge's engine. What is WebView2 covers the runtime and msedgewebview2.exe. Tauri's reference says the runtime updates itself and comes preinstalled on Windows 11.

Linux uses WebKitGTK, the official web engine of the GNOME platform, used by browsers such as Epiphany. See What is WebKitGTK. Tauri's Linux version table is incomplete. On 7 November 2026 the WebKitGTK site listed 2.54.2 as the stable tarball, newer than the 2.36 row in that table, so check the package your distribution installed. Pake's README lists macOS, Windows and Linux.

What stays in the browser

WebView2 turns off Ctrl+T, Ctrl+Tab, and Ctrl+L or Alt+D, and it blocks edge://newtab and edge://omnibox. WKWebView follows a clicked link, and the app supplies goForward and goBack if it wants buttons. --multi-window is off by default. With it, Pake keeps one process, opens more windows, and on macOS Cmd+N joins them to a native tab group. Popups stay out of that tab group.

Browser extensions are off in WebView2. Microsoft marks that row not configurable, blocks edge://extensions, and defaults AreBrowserExtensionsEnabled to false, so extensions stay off unless a host app sets it to true. Chrome Sync and Data Saver are unavailable in Android's WebView even on Android 7, 8 and 9, where the implementation sits inside Chrome and still shares no data with it. Pake's CLI docs list no extension flag.

Cookies sit in another folder. WebView shares no data with Chrome. WebView2 turns off sync of favorites and cookies, and keeps them, along with permissions and cached files, in a user data folder created for the host at startup. With --password-autosave, a Windows Pake app saves passwords in its own WebView2 profile, not in Chrome or Edge. Pake sets the data directory on Windows and Linux only. On a Mac it stays with WKWebView's default store, which WebKit's source files under the app's bundle identifier in ~/Library/WebKit, while Safari keeps its cookies inside its own container. --incognito stores no cookies, local storage or history.

How the engine draws the page

The app does not parse HTML. It creates a view, and the engine already on the system loads the page, outside the app's main process on the desktop and, from Android 8.0, on Android.

On Android, since Lollipop, the provider package is that engine, and the framework loads its native library. WebKit, behind WKWebView and WebKitGTK, puts each page in a sandboxed WebContent process. A shared network process handles the network, the disk cache, and storage such as Web Storage and IndexedDB. The UI process brokers the clipboard, microphone and camera. WebKitGTK says that since WebKit2 a page cannot crash the host or freeze its interface. Pake's FAQ names the process WebContent on a Mac and WebKitWebProcess on Linux, and a heavy page such as Gemini, Slack or ChatGPT can take several hundred MB there.

Chromium's WebView FAQ still says a new version every 6 weeks, while Chrome itself moved to a two-week stable cycle on every platform with Chrome 153 on 8 September 2026, so the FAQ's number may be behind. WKWebView moves with macOS, so a Mac without OS updates stops getting WebKit. WebView2 updates itself, and WebKitGTK follows the distribution. The Play listing for Android System WebView showed a component update dated 4 November 2026.

Why Tauri and Pake use the system component

Tauri keeps the system's web view, on the desktop and on Android. TAO makes the window, WRY draws the view, and the app ships no engine. The "under 600KB" figure on Tauri's site is a minimal app. Electron embeds Chromium and Node.js, so an app version carries the same Chromium on Windows, macOS and Linux, and a Mac build is not WebKit. You ship that Chromium's updates yourself when every desktop has to match. See Tauri vs Electron.

Pake wraps an address you already have. Installers are typically under 10 MB because Chromium is not in them. On Linux a heavy page still costs about as much RAM as it does in GNOME Web, and no Pake setting meaningfully lowers that. With the CLI set up:

pake https://example.com --name Example

The window uses WKWebView, WebView2 or WebKitGTK.

Can you disable Android System WebView

Chromium's FAQ advises against disabling WebView. Apps that need it are likely to crash, and the security updates stop. On Android 7, 8 and 9 the implementation is inside Chrome, so a separate package that will not enable is expected, and disabling Chrome switches WebView to the standalone package. From Android 10 they are separate apps, and disabling Chrome leaves the provider as it is.

With the selected provider disabled, the system falls back, and if nothing eligible remains those apps crash until you enable one. From Android 7.0 users can choose among several packages on devices that offer more than one. The Play Store page shows Google's package. On those devices, Chromium says, developer settings show the one selected.

What goes wrong and how to check

Sign in inside the app, quit, and open it again. The session should remain. --incognito clears it on purpose.

Google sign-in can fail as policy. Microsoft says Google has disabled it in embedded web views, WebView2 included, and Pake's docs say --new-window and --multi-window do not lift that block. A Cloudflare check can loop too: the FAQ says the system web view, especially WebKitGTK, is often flagged and never passes, custom user agent included. Use a normal browser or a native client for either case.

If the page looks wrong only in the app, open it in the browser on the same engine: Safari on that Mac, Edge on that PC, Chrome on that phone. For the most part, Chrome's docs say, Chrome for Android features work in the WebView. On Linux, Pake keeps video's hardware acceleration with shared-memory rendering on WebKitGTK 2.52 and later, and keeps compatibility flags on older versions. A distro package can sit far behind the 2.54.2 tarball.

To read the engine version on a computer, start with this on a Mac, which prints the same build number as Safari's own CFBundleVersion:

defaults read /System/Library/Frameworks/WebKit.framework/Resources/Info.plist CFBundleVersion

On Windows, Microsoft's distribution guide puts the runtime version in the pv value under EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}. On Arch use pacman -Q webkit2gtk-4.1, and on Debian and Ubuntu dpkg -s libwebkit2gtk-4.1-0.

When a browser or Electron fits better

Use the browser for its tabs, extensions and the profile you already have. Use pake for one site in its own desktop window. On Android, Chrome's docs say to consider Custom Tabs when the app mostly shows someone else's site, so the page stays in Chrome. Electron is the build that carries one Chromium. Pake's docs keep a Mac app on WKWebView.

FAQ

Can I uninstall Android System WebView to free space?

On Android 7, 8 and 9, while Chrome provides WebView, the separate package is disabled so the phone does not download redundant updates. Chromium advises against disabling WebView: apps that show web pages are likely to crash, and the security updates stop.

Should I update Android System WebView?

Yes. Chromium's FAQ says WebView needs regular security updates just as a browser does, and they cover every app that embeds the component, which is why the Play Store listing moves when those apps do not.

Does a WebView app share cookies with my browser?

No. Android's WebView shares no data with Chrome, and a Windows Pake app keeps its data in its own WebView2 profile. On a Mac, Pake uses WKWebView's default data store and a Safari sign-in does not carry over, so sign in inside the app.

Is Android System WebView a browser I can open?

No. Google's listing describes a component other apps use to display web content. "Powered by Chrome" names the rendering engine, and Chrome Sync is not part of the WebView.

Why use Electron instead of a system WebView?

Electron's Chromium is the one that app version shipped, on Mac, Windows and Linux. A system WebView follows macOS, WebView2 or the distribution, so two computers can render the same site differently.