diff --git a/images/ui/built_in_button/built_in_button.png b/images/ui/built_in_button/built_in_button.png
new file mode 100644
index 000000000..eaf960664
Binary files /dev/null and b/images/ui/built_in_button/built_in_button.png differ
diff --git a/images/ui/built_in_button/built_in_button_add.png b/images/ui/built_in_button/built_in_button_add.png
new file mode 100644
index 000000000..ef5d7bc9e
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_add.png differ
diff --git a/images/ui/built_in_button/built_in_button_add_dark.png b/images/ui/built_in_button/built_in_button_add_dark.png
new file mode 100644
index 000000000..6c6ca0bfc
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_add_dark.png differ
diff --git a/images/ui/built_in_button/built_in_button_browse.png b/images/ui/built_in_button/built_in_button_browse.png
new file mode 100644
index 000000000..457c19d90
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_browse.png differ
diff --git a/images/ui/built_in_button/built_in_button_browse_correct.png b/images/ui/built_in_button/built_in_button_browse_correct.png
new file mode 100644
index 000000000..c528e6393
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_browse_correct.png differ
diff --git a/images/ui/built_in_button/built_in_button_browse_correct_dark.png b/images/ui/built_in_button/built_in_button_browse_correct_dark.png
new file mode 100644
index 000000000..58fe6bbd6
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_browse_correct_dark.png differ
diff --git a/images/ui/built_in_button/built_in_button_browse_dark.png b/images/ui/built_in_button/built_in_button_browse_dark.png
new file mode 100644
index 000000000..c06941624
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_browse_dark.png differ
diff --git a/images/ui/built_in_button/built_in_button_browse_incorrect.png b/images/ui/built_in_button/built_in_button_browse_incorrect.png
new file mode 100644
index 000000000..4e791204d
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_browse_incorrect.png differ
diff --git a/images/ui/built_in_button/built_in_button_browse_incorrect_dark.png b/images/ui/built_in_button/built_in_button_browse_incorrect_dark.png
new file mode 100644
index 000000000..efda2b5dd
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_browse_incorrect_dark.png differ
diff --git a/images/ui/built_in_button/built_in_button_collapsed.png b/images/ui/built_in_button/built_in_button_collapsed.png
new file mode 100644
index 000000000..e911b1ff0
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_collapsed.png differ
diff --git a/images/ui/built_in_button/built_in_button_collapsed_dark-1.png b/images/ui/built_in_button/built_in_button_collapsed_dark-1.png
new file mode 100644
index 000000000..a35d06ee1
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_collapsed_dark-1.png differ
diff --git a/images/ui/built_in_button/built_in_button_collapsed_dark.png b/images/ui/built_in_button/built_in_button_collapsed_dark.png
new file mode 100644
index 000000000..1a0f9b747
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_collapsed_dark.png differ
diff --git a/images/ui/built_in_button/built_in_button_copy_correct.png b/images/ui/built_in_button/built_in_button_copy_correct.png
new file mode 100644
index 000000000..1bf196dcd
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_copy_correct.png differ
diff --git a/images/ui/built_in_button/built_in_button_copy_correct_dark.png b/images/ui/built_in_button/built_in_button_copy_correct_dark.png
new file mode 100644
index 000000000..eed8b0ea8
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_copy_correct_dark.png differ
diff --git a/images/ui/built_in_button/built_in_button_copy_incorrect.png b/images/ui/built_in_button/built_in_button_copy_incorrect.png
new file mode 100644
index 000000000..21771ab7f
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_copy_incorrect.png differ
diff --git a/images/ui/built_in_button/built_in_button_copy_incorrect_dark.png b/images/ui/built_in_button/built_in_button_copy_incorrect_dark.png
new file mode 100644
index 000000000..4760b0613
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_copy_incorrect_dark.png differ
diff --git a/images/ui/built_in_button/built_in_button_dark.png b/images/ui/built_in_button/built_in_button_dark.png
new file mode 100644
index 000000000..e1055e2c5
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_dark.png differ
diff --git a/images/ui/built_in_button/built_in_button_expanded.png b/images/ui/built_in_button/built_in_button_expanded.png
new file mode 100644
index 000000000..a589f0ed6
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_expanded.png differ
diff --git a/images/ui/built_in_button/built_in_button_expanded_dark.png b/images/ui/built_in_button/built_in_button_expanded_dark.png
new file mode 100644
index 000000000..c50e1ba78
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_expanded_dark.png differ
diff --git a/images/ui/built_in_button/built_in_button_help_correct.png b/images/ui/built_in_button/built_in_button_help_correct.png
new file mode 100644
index 000000000..d25ef766d
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_help_correct.png differ
diff --git a/images/ui/built_in_button/built_in_button_help_correct_dark.png b/images/ui/built_in_button/built_in_button_help_correct_dark.png
new file mode 100644
index 000000000..514ea3861
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_help_correct_dark.png differ
diff --git a/images/ui/built_in_button/built_in_button_help_incorrect.png b/images/ui/built_in_button/built_in_button_help_incorrect.png
new file mode 100644
index 000000000..d8ab686cc
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_help_incorrect.png differ
diff --git a/images/ui/built_in_button/built_in_button_help_incorrect_dark.png b/images/ui/built_in_button/built_in_button_help_incorrect_dark.png
new file mode 100644
index 000000000..d13ff1ba7
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_help_incorrect_dark.png differ
diff --git a/images/ui/built_in_button/built_in_button_list.png b/images/ui/built_in_button/built_in_button_list.png
new file mode 100644
index 000000000..3eec38af0
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_list.png differ
diff --git a/images/ui/built_in_button/built_in_button_list_dark.png b/images/ui/built_in_button/built_in_button_list_dark.png
new file mode 100644
index 000000000..c2acbb145
Binary files /dev/null and b/images/ui/built_in_button/built_in_button_list_dark.png differ
diff --git a/topics/ui/controls/built_in_button.md b/topics/ui/controls/built_in_button.md
index 88df19acf..3498540e4 100644
--- a/topics/ui/controls/built_in_button.md
+++ b/topics/ui/controls/built_in_button.md
@@ -6,31 +6,36 @@
A built-in button is an icon placed inside an input control.
-{width=250}
+{width=706}
-## How to use
-
-Place the built-in button inside the input control. Do **not** place the built-in button on the right of a control:
-
-{width=250}
+
To place a button inside a text field, use [`ExtendableTextField`](%gh-ic%/platform/platform-api/src/com/intellij/ui/components/fields/ExtendableTextField.java) and
its `addExtension()` method.
+
-The shortcut for a built-in button is Shift+Enter.
+## When to use
+
+Use a built-in button instead of adding a separate [button](button.topic) on the right where possible to save space and declutter the interface:
+
+
+Correct
+ |
+Incorrect
+ |
+
+
-## Types
### Browse
+Use the **Browse** icon to select a single file or a folder from the disc.
-A browse button opens a dialog with the disk, a tree view or a table of values.
-Use a control with the browse icon for a file/folder path selected from the disk.
-
-{width=378}
+
[//]: # (An input field with browse button: [`TextFieldWithBrowseButton`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/ui/TextFieldWithBrowseButton.java))
-A combo box with browse button:
+
+A combo box with the Browse button:
@@ -79,44 +84,61 @@ extComboBox.setEditor(new BasicComboBoxEditor() {
+
-Do **not** place the button on the right of the control.
-{width=250}
+### Expand a field
-### Expand field
+If the input text can be long and the place is constrained,
+use an input field with the **Expand** button:
-If the input text can be long and place is constrained, use a built-in button to expand the control
-([`ExpandableTextField`](%gh-ic%/platform/platform-api/src/com/intellij/ui/components/fields/ExpandableTextField.java)):
+{width=706}
-{width=332}
+Expanded field:
-{width=582}
-
-Do **not** use the Show Viewer button instead.
-
-{width=357}
+{width=706}
### List values
-Use a control with the table icon to select from the list of classes, methods or environment variables:
+Use the **List** icon to select a value from the list of objects such as classes, methods, or environment variables:
-{width=250}
-
-Use a combo box instead of the Variables button. This icon works as a combo box.
-
-{width=514}
+{width=706}
### Add value
+Use the **Add** button to select multiple values, such as files, variables, folder paths. The selected values will be added to the existing list.
-The Plus button works the same way as the Browse button.
-The only difference is that the selected value is added, instead of overwriting the existing one.
-Place the plus icon inside the control.
-{width=250}
+{width=706}
-### Copy, Info
-| {width="57"} | Do not use the Copy button, the content can be selected and copied using the Cmd/Ctrl+C shortcut or the context menu. |
-|----------------------------------|-----------------------------------------------------------------------------------------------------------------------|
-| {width="57"} | Do not use the info button to open an external link. Use context help instead. |
-{style=none}
+## When not to use
+
+### Cut, Copy, Paste
+Do not use the **Copy**, **Paste** or **Cut** button. Instead, make sure these actions are available on pressing Cmd/Ctrl+X, Cmd/Ctrl+C, and Cmd/Ctrl+V shortcuts or from the context menu.
+
+
+
+ Correct
+
+ |
+
+ Incorrect
+
+ |
+
+
+
+### Help, Info
+Do not use the **Help** or **Info** buttons to open an external link or a hint. Use the [context help](context_help.md) instead.
+
+
+
+Correct
+ |
+Incorrect
+ |
+
+
+
+## Shortcut
+The shortcut for a built-in button is Shift+Enter.
+The shortcut activates only when the input field with the button is focused.
diff --git a/topics/ui/controls/input_field.md b/topics/ui/controls/input_field.md
index 09c5ea384..fa847faba 100644
--- a/topics/ui/controls/input_field.md
+++ b/topics/ui/controls/input_field.md
@@ -131,8 +131,8 @@ If users are more likely to re-enter the entire value, select the whole text whe
### Input field types
-If the input text can be long and place is constrained, use an expandable input field [`ExpandableTextField`](%gh-ic%/platform/platform-api/src/com/intellij/ui/components/fields/ExpandableTextField.java).
-For more details, see [built-in buttons](built_in_button.md#expand-field).
+If the input text can be long and the place is constrained, use an expandable input field [`ExpandableTextField`](%gh-ic%/platform/platform-api/src/com/intellij/ui/components/fields/ExpandableTextField.java).
+For more details, see [built-in buttons](built_in_button.md#expand-a-field).
{width=332}