diff --git a/docs/reference/ingest/processors/remove.asciidoc b/docs/reference/ingest/processors/remove.asciidoc
index 6e9b4f24ff515..c3aa42a8f1807 100644
--- a/docs/reference/ingest/processors/remove.asciidoc
+++ b/docs/reference/ingest/processors/remove.asciidoc
@@ -13,6 +13,7 @@ Removes existing fields. If one field doesn't exist, an exception will be thrown
 | Name             | Required  | Default  | Description
 | `field`          | yes       | -        | Fields to be removed. Supports <<template-snippets,template snippets>>.
 | `ignore_missing` | no        | `false`  | If `true` and `field` does not exist or is `null`, the processor quietly exits without modifying the document
+| `keep`           | no        | -        | Fields to be kept. When set, all fields other than those specified are removed.
 include::common-options.asciidoc[]
 |======
 
@@ -39,3 +40,15 @@ To remove multiple fields, you can use the following query:
 }
 --------------------------------------------------
 // NOTCONSOLE
+
+You can also choose to remove all fields other than a specified list:
+
+[source,js]
+--------------------------------------------------
+{
+  "remove": {
+    "keep": ["url"]
+  }
+}
+--------------------------------------------------
+// NOTCONSOLE