diff --git a/core/modules/filter/config/schema/filter.schema.yml b/core/modules/filter/config/schema/filter.schema.yml
new file mode 100644
index 0000000..5d8aa9d
--- /dev/null
+++ b/core/modules/filter/config/schema/filter.schema.yml
@@ -0,0 +1,40 @@
+# Schema for configuration files of the filter module:
+
+filter.settings:
+  type: mapping
+  label: 'Filter settings'
+  mapping:
+    fallback_format:
+      type: string
+      label: 'fallback text format'
+
+filter.format.*:
+  type: mapping
+  label: 'Filter format'
+  mapping:
+    format:
+      type: string
+      label: 'Machine name'
+    name:
+      type: string
+      label: 'Name'
+    status:
+      type: boolean
+      label: 'Enable'
+    weight:
+      type: integer
+      label: 'Weight'
+    roles:
+      type: sequence
+      label: 'Roles'
+    cache:
+      type: boolean
+      label: 'Cache'
+    filters:
+      type: sequence
+      label: 'Filters'
+      sequence:
+        - type: filter
+    langcode:
+      type: string
+      label: 'Language'
diff --git a/core/modules/system/config/schema/system.data_types.schema.yml b/core/modules/system/config/schema/system.data_types.schema.yml
index ac9bc78..0c55989 100644
--- a/core/modules/system/config/schema/system.data_types.schema.yml
+++ b/core/modules/system/config/schema/system.data_types.schema.yml
@@ -61,3 +61,15 @@ mail:
     "body":
       type: text
       label: "Body"
+
+# Filter with module and status.
+filter:
+  type: mapping
+  label: 'Filter'
+  mapping:
+    module:
+      type: string
+      label: 'Module'
+    status:
+      type: boolean
+      label: 'Status'
