diff --git a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow-integration-tests/src/main/resources/vaadin-featureflags.properties b/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow-integration-tests/src/main/resources/vaadin-featureflags.properties
deleted file mode 100644
index 0e385957a6d..00000000000
--- a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow-integration-tests/src/main/resources/vaadin-featureflags.properties
+++ /dev/null
@@ -1 +0,0 @@
-com.vaadin.experimental.breadcrumbsComponent=true
diff --git a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/java/com/vaadin/flow/component/breadcrumbs/Breadcrumbs.java b/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/java/com/vaadin/flow/component/breadcrumbs/Breadcrumbs.java
index 6eca427ea7c..ae7a151fdab 100644
--- a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/java/com/vaadin/flow/component/breadcrumbs/Breadcrumbs.java
+++ b/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/java/com/vaadin/flow/component/breadcrumbs/Breadcrumbs.java
@@ -24,7 +24,6 @@
import org.jspecify.annotations.Nullable;
import com.fasterxml.jackson.annotation.JsonInclude;
-import com.vaadin.experimental.FeatureFlags;
import com.vaadin.flow.component.AttachEvent;
import com.vaadin.flow.component.Component;
import com.vaadin.flow.component.ComponentUtil;
@@ -55,9 +54,6 @@
/**
* Breadcrumbs is a component for displaying a navigation trail that shows the
* user's location within a hierarchy of pages.
- *
- * This component is experimental and needs to be enabled with the
- * {@code com.vaadin.experimental.breadcrumbsComponent} feature flag.
*
* @author Vaadin Ltd
* @since 25.2
@@ -267,8 +263,6 @@ private boolean hasChildrenBinding() {
@Override
protected void onAttach(AttachEvent attachEvent) {
super.onAttach(attachEvent);
- checkFeatureFlag(attachEvent.getUI());
-
if (mode == Mode.ROUTER) {
registerNavigationListener(attachEvent.getUI());
}
@@ -434,15 +428,6 @@ private String resolveTitle(RouteReference reference,
.orElse("");
}
- private void checkFeatureFlag(UI ui) {
- FeatureFlags featureFlags = FeatureFlags
- .get(ui.getSession().getService().getContext());
- if (!featureFlags.isEnabled(
- BreadcrumbsFeatureFlagProvider.BREADCRUMBS_COMPONENT)) {
- throw new ExperimentalFeatureException();
- }
- }
-
/**
* Gets the internationalization object previously set for this component.
*
diff --git a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/java/com/vaadin/flow/component/breadcrumbs/BreadcrumbsFeatureFlagProvider.java b/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/java/com/vaadin/flow/component/breadcrumbs/BreadcrumbsFeatureFlagProvider.java
deleted file mode 100644
index 0b3ac73b4aa..00000000000
--- a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/java/com/vaadin/flow/component/breadcrumbs/BreadcrumbsFeatureFlagProvider.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2000-2026 Vaadin Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.vaadin.flow.component.breadcrumbs;
-
-import java.util.List;
-
-import com.vaadin.experimental.Feature;
-import com.vaadin.experimental.FeatureFlagProvider;
-
-/**
- * Provides the Breadcrumbs component feature flag, gating the experimental
- * {@link Breadcrumbs} component.
- *
- * @author Vaadin Ltd
- * @since 25.2
- */
-public class BreadcrumbsFeatureFlagProvider implements FeatureFlagProvider {
-
- /**
- * The Breadcrumbs component feature flag. When enabled, allows use of the
- * experimental {@link Breadcrumbs} component.
- */
- public static final Feature BREADCRUMBS_COMPONENT = new Feature(
- "Breadcrumbs component", // title
- "breadcrumbsComponent", // id
- "https://vaadin.com/docs/latest/components/breadcrumbs", // moreInfoLink
- true, // requiresServerRestart
- "com.vaadin.flow.component.breadcrumbs.Breadcrumbs"); // componentClassName
-
- @Override
- public List getFeatures() {
- return List.of(BREADCRUMBS_COMPONENT);
- }
-}
diff --git a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/java/com/vaadin/flow/component/breadcrumbs/ExperimentalFeatureException.java b/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/java/com/vaadin/flow/component/breadcrumbs/ExperimentalFeatureException.java
deleted file mode 100644
index e135dba05e1..00000000000
--- a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/java/com/vaadin/flow/component/breadcrumbs/ExperimentalFeatureException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2000-2026 Vaadin Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.vaadin.flow.component.breadcrumbs;
-
-/**
- * An exception which is thrown when somebody attempts to use the
- * {@link Breadcrumbs} component without activating the associated feature flag
- * first.
- *
- * @author Vaadin Ltd
- * @since 25.2
- */
-public class ExperimentalFeatureException extends RuntimeException {
- /**
- * Creates a new exception with a default message.
- */
- public ExperimentalFeatureException() {
- super("""
- The Breadcrumbs component is currently an experimental feature \
- and needs to be explicitly enabled. The component can be \
- enabled using Copilot, in the experimental features tab, \
- or by adding a \
- `src/main/resources/vaadin-featureflags.properties` file \
- with the following content: \
- `com.vaadin.experimental.breadcrumbsComponent=true`""");
- }
-}
diff --git a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/resources/META-INF/services/com.vaadin.experimental.FeatureFlagProvider b/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/resources/META-INF/services/com.vaadin.experimental.FeatureFlagProvider
deleted file mode 100644
index f2c3a925e96..00000000000
--- a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/resources/META-INF/services/com.vaadin.experimental.FeatureFlagProvider
+++ /dev/null
@@ -1 +0,0 @@
-com.vaadin.flow.component.breadcrumbs.BreadcrumbsFeatureFlagProvider
diff --git a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/test/java/com/vaadin/flow/component/breadcrumbs/tests/BreadcrumbsModeTest.java b/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/test/java/com/vaadin/flow/component/breadcrumbs/tests/BreadcrumbsModeTest.java
index cc4c2623277..14edc96859b 100644
--- a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/test/java/com/vaadin/flow/component/breadcrumbs/tests/BreadcrumbsModeTest.java
+++ b/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/test/java/com/vaadin/flow/component/breadcrumbs/tests/BreadcrumbsModeTest.java
@@ -28,7 +28,6 @@
import com.vaadin.flow.component.UI;
import com.vaadin.flow.component.breadcrumbs.Breadcrumbs;
import com.vaadin.flow.component.breadcrumbs.Breadcrumbs.Mode;
-import com.vaadin.flow.component.breadcrumbs.BreadcrumbsFeatureFlagProvider;
import com.vaadin.flow.component.breadcrumbs.BreadcrumbsItem;
import com.vaadin.flow.component.html.Div;
import com.vaadin.flow.router.AfterNavigationEvent;
@@ -51,7 +50,6 @@
import com.vaadin.flow.server.VaadinService;
import com.vaadin.flow.server.startup.ApplicationRouteRegistry;
import com.vaadin.flow.signals.local.ValueSignal;
-import com.vaadin.tests.EnableFeatureFlagExtension;
import com.vaadin.tests.MockUIExtension;
class BreadcrumbsModeTest {
@@ -59,10 +57,6 @@ class BreadcrumbsModeTest {
@RegisterExtension
MockUIExtension ui = new MockUIExtension();
- @RegisterExtension
- EnableFeatureFlagExtension featureFlagExtension = new EnableFeatureFlagExtension(
- BreadcrumbsFeatureFlagProvider.BREADCRUMBS_COMPONENT);
-
@AfterEach
void clearCurrentService() {
// installRouter sets the current service for title resolution; clear it
diff --git a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/test/java/com/vaadin/flow/component/breadcrumbs/tests/FeatureFlagTest.java b/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/test/java/com/vaadin/flow/component/breadcrumbs/tests/FeatureFlagTest.java
deleted file mode 100644
index f1d4793dfde..00000000000
--- a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/test/java/com/vaadin/flow/component/breadcrumbs/tests/FeatureFlagTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2000-2026 Vaadin Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.vaadin.flow.component.breadcrumbs.tests;
-
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
-
-import com.vaadin.flow.component.breadcrumbs.Breadcrumbs;
-import com.vaadin.flow.component.breadcrumbs.BreadcrumbsFeatureFlagProvider;
-import com.vaadin.flow.component.breadcrumbs.ExperimentalFeatureException;
-import com.vaadin.tests.EnableFeatureFlagExtension;
-import com.vaadin.tests.MockUIExtension;
-
-class FeatureFlagTest {
-
- @RegisterExtension
- MockUIExtension ui = new MockUIExtension();
-
- @RegisterExtension
- EnableFeatureFlagExtension featureFlagExtension = new EnableFeatureFlagExtension(
- BreadcrumbsFeatureFlagProvider.BREADCRUMBS_COMPONENT);
-
- @Test
- void featureEnabled_attach_doesNotThrow() {
- var breadcrumbs = new Breadcrumbs();
- Assertions.assertDoesNotThrow(() -> ui.add(breadcrumbs));
- }
-
- @Test
- void featureDisabled_attach_throws() {
- featureFlagExtension.disableFeature();
-
- var breadcrumbs = new Breadcrumbs();
- Assertions.assertThrows(ExperimentalFeatureException.class,
- () -> ui.add(breadcrumbs));
- }
-}