In JavaScript, the gestureend event fires when there are no longer multiple fingers contacting the touch surface, thus ending the gesture (MDN). It is a proprietary WebKit event. The event object is a GestureEvent (with scale and rotation).
Register a listener with addEventListener. Check readiness and browser support before you rely on this event.
Syntax
Listen for gestureend. Start with this line.
JavaScript
el.addEventListener("gestureend", fn)
Call
What it does
el.addEventListener("gestureend", fn)
Primary signature.
Built into the browser. Listen with el.addEventListener("gestureend", …) — no import required.
Library declarations
JavaScript
el.addEventListener("gestureend", fn)
Parameters
Parameter
Description
WebKit / Safari
Required. Only engine that implements it
Prior multi-touch
Required. Fires when multiple fingers are no longer down
GestureEvent
Required. Final scale and rotation
Return Value
Return Value
Description
*
Fires as an Element event (listener receives the Event object).
JavaScript Examples
Example 1 — Feature Detect
Check WebKit gesture support before attaching end listeners.
Track two touches. Store start distance, update scale on move.
On touchend. When fewer than two fingers remain, treat that as “gesture end”.
Commit once. Persist lastScale and reset the start distance.
Optional Safari. You may still listen for gestureend where available.
Compatibility
Browser Support
Elementgestureend is Non-standard on MDN (WebKit proprietary). It is not Deprecated or Experimental. Not Baseline — Safari/iOS focused.
✓ Non-standard · WebKit
Element gestureend
Fires when multi-touch ends. GestureEvent still exposes final scale and rotation.
WebKitSafari / related WebKit
Google ChromeSupported · Desktop & Mobile
Full support
Mozilla FirefoxSupported · Desktop & Mobile
Full support
Apple SafariSupported · macOS & iOS
Full support
Microsoft EdgeSupported · Chromium
Full support
Internet ExplorerNo native support · Use a polyfill
Polyfill
OperaSupported · Modern versions
Full support
Samsung InternetSupported · Android
Full support
Android WebViewSupported · Modern WebView
Full support
gestureendNon-standard
Bottom line: Treat as Safari learning / optional enhancement. Ship touchend or pointerup commit logic for cross-browser pinch.
Frequently Asked Questions
It is a proprietary WebKit event fired when there are no longer multiple fingers contacting the touch surface, thus ending the gesture (MDN). The event object is a GestureEvent. MDN marks it Non-standard.
MDN marks Element gestureend as Non-standard only — not Deprecated and not Experimental. Still avoid it as the primary API in cross-browser production apps.
gesturestart begins the gesture, gesturechange fires while digits move, and gestureend fires when the multi-touch gesture finishes.
It is WebKit-specific. Expect Safari on iOS (and related WebKit contexts). Chrome, Firefox, and Edge generally do not implement this event.
They report the final GestureEvent values for that gesture: scale relative to the start distance, and rotation in degrees since the gesture began (MDN GestureEvent).
For portable pinch/zoom, prefer Touch Events or Pointer Events and commit when the second finger lifts (for example touchend). Feature-detect GestureEvent only as an optional Safari enhancement.