diff --git a/config/feature_flags/development/combined_analytics_visualization_editor.yml b/config/feature_flags/development/combined_analytics_visualization_editor.yml
deleted file mode 100644
index 7d465952c3db8755286a037b6c6571e31c7b07d1..0000000000000000000000000000000000000000
--- a/config/feature_flags/development/combined_analytics_visualization_editor.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: combined_analytics_visualization_editor
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/131634
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/425048
-milestone: '16.4'
-type: development
-group: group::product analytics
-default_enabled: false
diff --git a/doc/user/analytics/analytics_dashboards.md b/doc/user/analytics/analytics_dashboards.md
index bdff1867210612ce592430f368d2a49b643442e9..c486abb54a030d8a217122ba0c80be1912d8f961 100644
--- a/doc/user/analytics/analytics_dashboards.md
+++ b/doc/user/analytics/analytics_dashboards.md
@@ -77,12 +77,8 @@ You can use the dashboard designer to:
 
 ## Visualization designer
 
-> Introduced in GitLab 16.4 [with a flag](../../administration/feature_flags.md) named `combined_analytics_visualization_editor`. Disabled by default.
-
-FLAG:
-On self-managed GitLab, by default this feature is not available. To make it available per project or for your entire instance, an administrator can [enable the feature flag](../../administration/feature_flags.md) named `combined_analytics_visualization_editor`.
-On GitLab.com, this feature is not available.
-This feature is not ready for production use.
+> - Introduced in GitLab 16.4 [with a flag](../../administration/feature_flags.md) named `combined_analytics_visualization_editor`. Disabled by default.
+> - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/425048) in GitLab 16.7. Feature flag `combined_analytics_visualization_editor` removed.
 
 NOTE:
 This feature is only compatible with the [product analytics](../product_analytics/index.md) data source.
diff --git a/ee/app/assets/javascripts/analytics/analytics_dashboards/components/dashboards_list.vue b/ee/app/assets/javascripts/analytics/analytics_dashboards/components/dashboards_list.vue
index b1073a1fab367183d9f501202a71d322667a5e81..1a6615dc8e84cbd6d8cf794b0f5a0426469415c1 100644
--- a/ee/app/assets/javascripts/analytics/analytics_dashboards/components/dashboards_list.vue
+++ b/ee/app/assets/javascripts/analytics/analytics_dashboards/components/dashboards_list.vue
@@ -62,7 +62,6 @@ export default {
       requiresOnboarding: Object.keys(ONBOARDING_FEATURE_COMPONENTS),
       featureDashboards: [],
       userDashboards: [],
-      showVisualizationDesignerButton: this.glFeatures.combinedAnalyticsVisualizationEditor,
       alert: null,
     };
   },
@@ -174,11 +173,7 @@ export default {
         </p>
       </div>
       <div>
-        <gl-button
-          v-if="showVisualizationDesignerButton"
-          to="visualization-designer"
-          data-testid="visualization-designer-button"
-        >
+        <gl-button to="visualization-designer" data-testid="visualization-designer-button">
           {{ s__('Analytics|Visualization Designer') }}
         </gl-button>
         <router-link
diff --git a/ee/app/controllers/projects/analytics/dashboards_controller.rb b/ee/app/controllers/projects/analytics/dashboards_controller.rb
index ff5f454b4510a781bc4882a749332485da6973fd..ab2c502a24a77920e7a273c439f794d142e1a62f 100644
--- a/ee/app/controllers/projects/analytics/dashboards_controller.rb
+++ b/ee/app/controllers/projects/analytics/dashboards_controller.rb
@@ -11,7 +11,6 @@ class DashboardsController < Projects::ApplicationController
       before_action :authorize_read_product_analytics!
       before_action :authorize_read_combined_project_analytics_dashboards!
       before_action do
-        push_frontend_feature_flag(:combined_analytics_visualization_editor, project)
         push_frontend_feature_flag(:group_analytics_dashboards, project.namespace)
       end
 
diff --git a/ee/spec/features/projects/product_analytics/dashboards_shared_examples.rb b/ee/spec/features/projects/product_analytics/dashboards_shared_examples.rb
index ea8f640b1e0eebacac31757499c3b9ba435aab74..c1f2c1d476179908fdbb9d38eb5ee8d646b5c866 100644
--- a/ee/spec/features/projects/product_analytics/dashboards_shared_examples.rb
+++ b/ee/spec/features/projects/product_analytics/dashboards_shared_examples.rb
@@ -301,28 +301,6 @@
             context 'and custom dashboards is not configured' do
               it_behaves_like 'does not render the new dashboard button'
             end
-
-            context 'when combined_analytics_visualization_editor FF is enabled' do
-              before do
-                stub_feature_flags(combined_analytics_visualization_editor: true)
-                visit_page
-              end
-
-              it 'renders the "Visualization Designer" button' do
-                expect(page).to have_content(s_('Analytics|Visualization Designer'))
-              end
-            end
-
-            context 'when combined_analytics_visualization_editor FF is disabled' do
-              before do
-                stub_feature_flags(combined_analytics_visualization_editor: false)
-                visit_page
-              end
-
-              it 'does not render the "Visualization Designer" button' do
-                expect(page).not_to have_content(s_('Analytics|Visualization Designer'))
-              end
-            end
           end
         end
       end
diff --git a/ee/spec/frontend/analytics/analytics_dashboards/components/dashboards_list_spec.js b/ee/spec/frontend/analytics/analytics_dashboards/components/dashboards_list_spec.js
index 6cd992a81ca66e05a4a3c0524db57791ab9aef5b..2eda4678e604c4077f5dd4572cee18a76f2232c1 100644
--- a/ee/spec/frontend/analytics/analytics_dashboards/components/dashboards_list_spec.js
+++ b/ee/spec/frontend/analytics/analytics_dashboards/components/dashboards_list_spec.js
@@ -95,8 +95,8 @@ describe('DashboardsList', () => {
       expect(findPageTitle().text()).toBe('Analytics dashboards');
     });
 
-    it('does not render the visualization designer button', () => {
-      expect(findVisualizationDesignerButton().exists()).toBe(false);
+    it('renders the visualization designer button', () => {
+      expect(findVisualizationDesignerButton().exists()).toBe(true);
     });
 
     it('renders the new dashboard button', () => {