Flexbox Gap works in Chrome 84+, Edge 84+, Firefox 63+, Safari 14.1+, iOS Safari 14.5+, Opera 70+. See per-browser support, fallbacks, and detection.

Prince Dewani
May 6, 2026
Flexbox Gap is the CSS gap property used inside a display:flex container, a shorthand for row-gap and column-gap that spaces flex items. It works in Chrome 84+, Edge 84+, Firefox 63+, Safari 14.1+, Safari 14.5+ on iOS, Opera 70+, and Samsung Internet 14, while Internet Explorer and Opera Mini never shipped support.
This guide covers what Flexbox Gap is, the browsers that support it, the fallbacks for unsupported browsers, the known issues, and how to detect support.
Flexbox Gap is the CSS gap property applied to a flex container, a shorthand for row-gap and column-gap defined in the W3C CSS Box Alignment Module Level 3. It sets the gutter between flex items without adding margins, so spacing stays consistent when items wrap, reorder, or change direction with flex-direction.
Flexbox Gap works in every modern desktop and mobile browser, with global support around 95%. Internet Explorer 11 and Opera Mini never shipped the property, and Safari only added it in Safari 14.1 on macOS and iOS Safari 14.5 on iPhone.
Chrome supports Flexbox Gap from Chrome 84 on Windows, macOS, Linux, ChromeOS, and Android. Chrome 4 to 83 did not support gap on flex containers, so the property was silently ignored on those versions even though gap already worked on grid containers from Chrome 66 on. Chrome 84 unified the property across every layout mode that the CSS Box Alignment Module covers.
Microsoft Edge supports Flexbox Gap from Edge 84 on Windows, macOS, and Linux. EdgeHTML 12 to 18 did not implement the property because the legacy engine never landed CSS Box Alignment for flex containers. Chromium-based Edge 79 to 83 also lacked the property, and Edge 84 picked it up the same week Chromium 84 enabled it for every downstream browser.
Firefox supports Flexbox Gap from Firefox 63 on Windows, macOS, Linux, and Android. Firefox 2 to 62 did not support gap on flex containers, even though Firefox 52 already shipped grid-gap. Firefox was the first major engine to land the property on flex, almost two release cycles ahead of Chromium and three years ahead of Safari.
Safari supports Flexbox Gap from Safari 14.1 on macOS Big Sur and later, and from iOS Safari 14.5 on iPhone and iPad. Safari 3.1 to 14 on macOS and iOS Safari 3.2 to 14.4 silently ignored the property, which is why a flex layout looked correct on Chrome but collapsed to a zero-gutter row on older iPhones. WebKit shipped the property in the Safari 14.1 release after gap-on-flex topped the MDN compatibility wishlist.
Opera supports Flexbox Gap from Opera 70 on Windows, macOS, and Linux, and from Opera Mobile 80 on Android. Opera 9 to 69 did not support the property because they predated Chromium 84. Opera Mini does not support Flexbox Gap on any version, so the field falls back to a zero-gutter layout for users on the cloud-rendered browser.
Samsung Internet supports Flexbox Gap from Samsung Internet 14.0 on Galaxy phones and tablets. Samsung Internet 4 to 13.0 did not support the property because they ran on a Chromium 83 base. The browser inherits the Chromium implementation, so once 14.0 shipped, support matched desktop Chrome 84 byte for byte.
The legacy stock Android Browser does not support Flexbox Gap on Android 4 KitKat or earlier devices. Modern Chrome for Android replaced the stock browser on Android 4.4 and later, and Chrome for Android supports Flexbox Gap from Chrome 84 on. Android WebView ships the same support starting in WebView 84, so any app that embeds a WebView on Android 10 or later gets the property out of the box.
Internet Explorer does not support Flexbox Gap on any version, including Internet Explorer 5.5 to 11. The Trident engine never implemented the CSS Box Alignment Module, and Microsoft has retired Internet Explorer. Use a margin-based fallback for any traffic that still lands on IE, then plan to redirect those users to Chromium Edge for new work.
Note: Flexbox Gap breaks on iOS Safari 14.4 and earlier, on Android WebView pre-84, and on Internet Explorer. Test it on real browsers and OS with TestMu AI. Try TestMu AI free!
The cleanest fallback for browsers without Flexbox Gap is a margin-based gutter wrapped in an @supports feature query, so modern browsers still get the native property and older browsers fall back to a calculated layout.
Flexbox Gap is well supported now, but a handful of legacy quirks still bite teams that target Safari 14, the stock Android Browser, or React Native pre-0.71. Most of the issues come from silent failures rather than parsing errors, which makes them harder to spot.
In my experience, the loudest gap bug on real-device runs is the iOS Safari 14.4 silent failure on a single legacy iPhone in a regression suite. The fix is to add the @supports gate on day one and to keep one iOS 14 device in the cross-browser grid until your traffic share for that build hits zero.
You detect Flexbox Gap support by combining a CSS @supports feature query with a small JavaScript layout probe that catches browsers which report gap as supported on grid but ignore it on flex. The steps below walk you through both checks.
Paste this snippet into the DevTools console of any browser to see whether the engine honors gap on a flex container at runtime.
// Paste this into the DevTools console of any browser to check Flexbox Gap support at runtime.
function isFlexGapSupported() {
const probe = document.createElement("div");
probe.style.display = "flex";
probe.style.flexDirection = "column";
probe.style.rowGap = "1px";
probe.appendChild(document.createElement("div"));
probe.appendChild(document.createElement("div"));
document.body.appendChild(probe);
const supported = probe.scrollHeight === 1;
probe.parentNode.removeChild(probe);
return supported;
}
console.log("Layout probe :", isFlexGapSupported() ? "supported" : "falls back to margins");
// Modern browsers can also answer the same question via the CSS feature query API.
if (window.CSS && CSS.supports) {
console.log("CSS.supports :", CSS.supports("gap", "1rem") ? "supported" : "no native gap");
}All Flexbox Gap version numbers and platform notes in this guide come from these primary sources:
Did you find this page helpful?
More Related Hubs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance