Navigation APIBaseline · Newly available
The navigation API initiates, intercepts, or modifies browser navigation actions. Not to be confused with the navigator API.
Works in the latest version of every major browser, but older devices may not support it yet. Baseline since Jan 13, 2026.
Browser support
DesktopChrome
1–101Not supported
102+Supportedsince May 24, 2022
Current: 155Edge
12–101Not supported
102+Supportedsince May 31, 2022
Current: 154Firefox
1–146Not supported
147+Supportedsince Jan 13, 2026
Current: 157Safari
1–26.1Not supported
26.2+Supportedsince Dec 12, 2025
Current: 27MobileChrome Android
18–101Not supported
102+Supportedsince May 24, 2022
Current: 155Firefox Android
4–146Not supported
147+Supportedsince Jan 13, 2026
Current: 157Safari iOS
1–26.1Not supported
26.2+Supportedsince Dec 12, 2025
Current: 27How to use
Every current browser supports this, but it only became Baseline on Jan 13, 2026. Use it as a progressive enhancement, or keep a fallback if you support older devices.
Example
Full syntax and examples are on MDN: NavigateEvent.
Feature detection
JS · check before using
if ("Navigation" in globalThis) {
// Navigation is available
} else {
// load a polyfill or use a fallback
}Sub-features
Support for each part of the feature (59). The overall table above shows when the whole feature works.
| Sub-feature | Chrome | Edge | Firefox | Safari | Chrome Android | Firefox Android | Safari iOS |
|---|---|---|---|---|---|---|---|
| NavigateEvent | 102 | 102 | 147 | 26.2 | 102 | 147 | 26.2 |
| NavigateEvent.NavigateEvent | 102 | 102 | 147 | 26.2 | 102 | 147 | 26.2 |
| NavigateEvent.canIntercept | 105 | 105 | 147 | 26.2 | 105 | 147 | 26.2 |
| NavigateEvent.destination | 102 | 102 | 147 | 26.2 | 102 | 147 | 26.2 |
| NavigateEvent.downloadRequest | 102 | 102 | 147 | 26.2 | 102 | 147 | 26.2 |
| NavigateEvent.formData | 102 | 102 | 147 | 26.2 | 102 | 147 | 26.2 |
| NavigateEvent.hasUAVisualTransition | 118 | 118 | 147 | 26.2 | 118 | 147 | 26.2 |
| NavigateEvent.hashChange | 102 | 102 | 147 | 26.2 | 102 | 147 | 26.2 |
| NavigateEvent.info | 102 | 102 | 147 | 26.2 | 102 | 147 | 26.2 |
| NavigateEvent.intercept | 105 | 105 | 147 | 26.2 | 105 | 147 | 26.2 |
| NavigateEvent.navigationType | 102 | 102 | 147 | 26.2 | 102 | 147 | 26.2 |
| NavigateEvent.scroll | 105 | 105 | 147 | 26.2 | 105 | 147 | 26.2 |
| NavigateEvent.signal | 102 | 102 | 147 | 26.2 | 102 | 147 | 26.2 |
| NavigateEvent.userInitiated | 102 | 102 | 147 | 26.2 | 102 | 147 | 26.2 |
| Navigation | 102 | 102 | 147 | 26.2 | 102 | 147 | 26.2 |
| Navigation.activation | 123 | 123 | 147 | 26.2 | 123 | 147 | 26.2 |
| Navigation.back | 102 | 102 | 147 | 26.2 | 102 | 147 | 26.2 |
| Navigation.canGoBack | 102 | 102 | 147 | 26.2 | 102 | 147 | 26.2 |
| Navigation.canGoForward | 102 | 102 | 147 | 26.2 | 102 | 147 | 26.2 |
| Navigation.currentEntry | 102 | 102 | 147 | 26.2 | 102 | 147 | 26.2 |