How to Enable Experimental WebKit Feature Flags in Safari

This article provides a step-by-step guide on how web developers can unlock and enable experimental WebKit feature flags in both the standard Safari browser and Safari Technology Preview. By activating the hidden developer tools in Safari's settings on macOS and iOS, you can easily search for, toggle, and test upcoming web standards and browser technologies before they are officially released to the public.

Step 1: Enable Developer Features on macOS

To access feature flags on a Mac, you must first unlock Safari's developer options. This process is identical for both the standard Safari browser and Safari Technology Preview, though Safari Technology Preview usually has these enabled by default.

  1. Open Safari or Safari Technology Preview.
  2. Click the browser name (Safari or Safari Technology Preview) in the top-left menu bar.
  3. Select Settings (or Preferences on older macOS versions) from the dropdown menu.
  4. Click the Advanced tab on the far right.
  5. Check the box at the bottom labeled Show features for web developers (on older versions of Safari, this is labeled Show Develop menu in menu bar).

Step 2: Access and Toggle Feature Flags on macOS

In modern versions of the browser (Safari 17 and later), experimental features are managed inside a dedicated settings tab rather than a dropdown menu.

  1. Keep the Settings window open after enabling the developer features in Step 1.
  2. Click the newly visible Feature Flags tab at the top of the Settings window.
  3. Use the search bar in the top-right corner of the window to find the specific CSS, HTML, JavaScript, or Web API feature you want to test.
  4. Check the box next to the specific feature flag to enable it.
  5. Refresh your webpage, or restart the browser if the specific flag requires a full relaunch to take effect.

For Safari 16 and Earlier: If you are using an older version of Safari, you will not see a Feature Flags tab in the Settings window. Instead, close the Settings window, click Develop in the top menu bar, and hover over Experimental Features to view and toggle flags from the long dropdown list.

Enabling WebKit Feature Flags on iOS and iPadOS

If you are testing experimental features on a mobile device, you can toggle the same WebKit flags through the system settings.

  1. Open the Settings app on your iPhone or iPad.
  2. Scroll down and tap Safari (in iOS 18 and later, go to Apps > Safari).
  3. Scroll to the very bottom and tap Advanced.
  4. Tap Feature Flags at the bottom of the list (this is labeled Experimental Features in iOS 16 and earlier).
  5. Use the search bar at the top or scroll through the alphabetical list to toggle on the desired WebKit features.

How to Reset Feature Flags to Default

Enabling experimental and unshipped features can occasionally cause rendering bugs, page instability, or browser crashes.

  • On macOS: Open Safari's Settings, go to the Feature Flags tab, and click the Reset All to Defaults button in the bottom-right corner.
  • On iOS/iPadOS: Navigate back to the Feature Flags menu in the Settings app, scroll to the very bottom, and tap Reset All to Defaults.