diff --git a/config/schema/paragraphs_type.schema.yml b/config/schema/paragraphs_type.schema.yml
index 6bcada9..96759e6 100644
--- a/config/schema/paragraphs_type.schema.yml
+++ b/config/schema/paragraphs_type.schema.yml
@@ -94,3 +94,5 @@ field.widget.settings.paragraphs:
       type: string
     default_paragraph_type:
       type: string
+    show_duplicate:
+      type: boolean
diff --git a/src/Plugin/Field/FieldWidget/ParagraphsWidget.php b/src/Plugin/Field/FieldWidget/ParagraphsWidget.php
index 60e06e6..8168a65 100644
--- a/src/Plugin/Field/FieldWidget/ParagraphsWidget.php
+++ b/src/Plugin/Field/FieldWidget/ParagraphsWidget.php
@@ -128,6 +128,7 @@ class ParagraphsWidget extends WidgetBase {
       'add_mode' => 'dropdown',
       'form_display_mode' => 'default',
       'default_paragraph_type' => '',
+      'show_duplicate' => TRUE,
     );
   }
 
@@ -212,6 +213,13 @@ class ParagraphsWidget extends WidgetBase {
       '#description' => $this->t('When creating a new host entity, a paragraph of this type is added.'),
     ];
 
+    $elements['show_duplicate'] = [
+      '#type' => 'checkbox',
+      '#title' => $this->t('Show duplicate action'),
+      '#default_value' => $this->getSetting('show_duplicate'),
+      '#description' => $this->t('When creating a paragraph, whether to display the duplicate action or not.'),
+    ];
+
     return $elements;
   }
 
@@ -279,6 +287,7 @@ class ParagraphsWidget extends WidgetBase {
     $closed_mode = $this->getSettingOptions('closed_mode')[$this->getSetting('closed_mode')];
     $autocollapse = $this->getSettingOptions('autocollapse')[$this->getSetting('autocollapse')];
     $add_mode = $this->getSettingOptions('add_mode')[$this->getSetting('add_mode')];
+    $show_duplicate = $this->getSetting('show_duplicate');
 
     $summary[] = $this->t('Edit mode: @edit_mode', ['@edit_mode' => $edit_mode]);
     $summary[] = $this->t('Closed mode: @closed_mode', ['@closed_mode' => $closed_mode]);
@@ -293,6 +302,8 @@ class ParagraphsWidget extends WidgetBase {
         '@default_paragraph_type' => $this->getDefaultParagraphTypeLabelName()
       ]);
     }
+    $show_duplicate = $show_duplicate ? $this->t('Enabled') : $this->t('Disabled');
+    $summary[] = $this->t('Show duplicate: @show_duplicate', ['@show_duplicate' => $show_duplicate]);
 
     return $summary;
   }
@@ -483,20 +494,22 @@ class ParagraphsWidget extends WidgetBase {
           'dropdown_actions' => [],
         ];
 
-        $widget_actions['dropdown_actions']['duplicate_button'] = [
-          '#type' => 'submit',
-          '#value' => $this->t('Duplicate'),
-          '#name' => $id_prefix . '_duplicate',
-          '#weight' => 502,
-          '#submit' => [[get_class($this), 'duplicateSubmit']],
-          '#limit_validation_errors' => [array_merge($parents, [$field_name, $delta])],
-          '#delta' => $delta,
-          '#ajax' => [
-            'callback' => [get_class($this), 'itemAjax'],
-            'wrapper' => $widget_state['ajax_wrapper_id'],
-          ],
-          '#access' => $paragraphs_entity->access('update') && $this->allowReferenceChanges(),
-        ];
+        if ($this->getSetting('show_duplicate')) {
+          $widget_actions['dropdown_actions']['duplicate_button'] = [
+            '#type' => 'submit',
+            '#value' => $this->t('Duplicate'),
+            '#name' => $id_prefix . '_duplicate',
+            '#weight' => 502,
+            '#submit' => [[get_class($this), 'duplicateSubmit']],
+            '#limit_validation_errors' => [array_merge($parents, [$field_name, $delta])],
+            '#delta' => $delta,
+            '#ajax' => [
+              'callback' => [get_class($this), 'itemAjax'],
+              'wrapper' => $widget_state['ajax_wrapper_id'],
+            ],
+            '#access' => $paragraphs_entity->access('update') && $this->allowReferenceChanges(),
+          ];
+        }
 
         if ($item_mode != 'remove') {
           $widget_actions['dropdown_actions']['remove_button'] = [
