diff --git a/src/Entity/Paragraph.php b/src/Entity/Paragraph.php
index d44bd63..9f16344 100644
--- a/src/Entity/Paragraph.php
+++ b/src/Entity/Paragraph.php
@@ -87,6 +87,13 @@ class Paragraph extends ContentEntityBase implements ParagraphInterface, EntityN
   protected $unserializedBehaviorSettings;
 
   /**
+   * Number of summaries.
+   *
+   * @var int
+   */
+  protected $summaryCount;
+
+  /**
    * {@inheritdoc}
    */
   public function getParentEntity() {
@@ -434,8 +441,12 @@ class Paragraph extends ContentEntityBase implements ParagraphInterface, EntityN
   /**
    * {@inheritdoc}
    */
-  public function getSummary() {
+  public function getSummary(array $options = []) {
+    $show_behavior_summary = isset($options['show_behavior_summary']) ? $options['show_behavior_summary'] : TRUE;
+    $depth_limit = isset($options['depth_limit']) ? $options['depth_limit'] : 1;
+    $this->summaryCount = 0;
     $summary = [];
+
     foreach ($this->getFieldDefinitions() as $field_name => $field_definition) {
       if ($field_definition->getType() == 'image' || $field_definition->getType() == 'file') {
         $file_summary = $this->getFileSummary($field_name);
@@ -450,7 +461,11 @@ class Paragraph extends ContentEntityBase implements ParagraphInterface, EntityN
       }
 
       if ($field_definition->getType() == 'entity_reference_revisions') {
-        $nested_summary = $this->getNestedSummary($field_name);
+        // Decrease the depth, since we are entering a nested paragraph.
+        $nested_summary = $this->getNestedSummary($field_name, [
+          'show_behavior_summary' => $show_behavior_summary,
+          'depth_limit' => $depth_limit - 1
+        ]);
         if ($nested_summary != '') {
           $summary[] = $nested_summary;
         }
@@ -466,18 +481,38 @@ class Paragraph extends ContentEntityBase implements ParagraphInterface, EntityN
 
     }
 
-    $paragraphs_type = $this->getParagraphType();
-    foreach ($paragraphs_type->getEnabledBehaviorPlugins() as $plugin_id => $plugin) {
-      if ($plugin_summary = $plugin->settingsSummary($this)) {
-        $summary = array_merge($summary, $plugin_summary);
+    if ($show_behavior_summary) {
+      $paragraphs_type = $this->getParagraphType();
+      foreach ($paragraphs_type->getEnabledBehaviorPlugins() as $plugin_id => $plugin) {
+        if ($plugin_summary = $plugin->settingsSummary($this)) {
+          $summary = array_merge($summary, $plugin_summary);
+        }
       }
     }
 
+    if ($this->summaryCount) {
+      array_unshift($summary, (string) \Drupal::translation()->formatPlural($this->summaryCount, '1 child', '@count children'));
+    }
+
     $collapsed_summary_text = implode(', ', $summary);
     return strip_tags($collapsed_summary_text);
   }
 
   /**
+   * Gets the number of summaries.
+   *
+   * @return int
+   *   The number of summaries.
+   */
+  protected function getSummaryCount() {
+    if ($this->summaryCount !== NULL) {
+      return $this->summaryCount;
+    }
+
+    return 0;
+  }
+
+  /**
    * Returns summary for file paragraph.
    *
    * @param string $field_name
@@ -521,20 +556,34 @@ class Paragraph extends ContentEntityBase implements ParagraphInterface, EntityN
    *
    * @param string $field_name
    *   Field definition id for paragraph.
+   * @param array $options
+   *   (optional) An associative array of additional options.
+   *   See \Drupal\paragraphs\ParagraphInterface::getSummary() for all of the
+   *   available options.
    *
    * @return string
    *   Short summary for nested paragraphs type.
    */
-  protected function getNestedSummary($field_name) {
-    $summary = '';
-    if ($this->get($field_name)->entity) {
-      $paragraph_entity = $this->get($field_name)->entity;
-      if ($paragraph_entity instanceof ParagraphInterface) {
-        $summary = $paragraph_entity->getSummary();
+  protected function getNestedSummary($field_name, array $options) {
+    $summary = [];
+    if ($options['depth_limit'] >= 0) {
+      foreach ($this->get($field_name) as $item) {
+        $entity = $item->entity;
+        if ($entity instanceof ParagraphInterface) {
+          $summary[] = $entity->getSummary($options);
+          $this->summaryCount++;
+        }
       }
     }
 
-    return trim($summary);
+    $summary = array_filter($summary);
+
+    if (empty($summary)) {
+      return NULL;
+    }
+
+    $paragraph_summary = implode(', ', $summary);
+    return $paragraph_summary;
   }
 
   /**
diff --git a/src/ParagraphInterface.php b/src/ParagraphInterface.php
index de534b0..25be2e4 100644
--- a/src/ParagraphInterface.php
+++ b/src/ParagraphInterface.php
@@ -24,9 +24,17 @@ interface ParagraphInterface extends ContentEntityInterface, EntityOwnerInterfac
   /**
    * Returns short summary for paragraph.
    *
+   * @param array $options
+   *   (optional) Array of additional options, with the following elements:
+   *   - 'show_behavior_summary': Whether the summary should contain the
+   *     behavior settings. Defaults to TRUE to show behavior settings in the
+   *     summary.
+   *   - 'depth_limit': Depth limit of how many nested paragraph summaries are
+   *     allowed. Defaults to 1 to show nested paragraphs only on top level.
+   *
    * @return string
    *   The text without tags.
    */
-  public function getSummary();
+  public function getSummary(array $options = []);
 
 }
diff --git a/src/Tests/Experimental/ParagraphsExperimentalBehaviorsTest.php b/src/Tests/Experimental/ParagraphsExperimentalBehaviorsTest.php
index f7ba8e6..9572a0e 100644
--- a/src/Tests/Experimental/ParagraphsExperimentalBehaviorsTest.php
+++ b/src/Tests/Experimental/ParagraphsExperimentalBehaviorsTest.php
@@ -3,6 +3,7 @@
 namespace Drupal\paragraphs\Tests\Experimental;
 
 use Drupal\field_ui\Tests\FieldUiTestTrait;
+use Drupal\paragraphs\Entity\Paragraph;
 
 /**
  * Tests paragraphs behavior plugins.
@@ -243,7 +244,19 @@ class ParagraphsExperimentalBehaviorsTest extends ParagraphsExperimentalTestBase
     // Assert that the summary includes the text of the behavior plugins.
     $this->clickLink('Edit');
     $this->assertRaw('class="paragraphs-collapsed-description">first_paragraph, Text color: blue, Bold: Yes');
-    $this->assertRaw('class="paragraphs-collapsed-description">nested_paragraph, Text color: blue, Bold: No, Bold: Yes');
+    $this->assertRaw('class="paragraphs-collapsed-description">1 child, nested_paragraph, Text color: blue, Bold: No, Bold: Yes');
+
+    // Add an empty nested paragraph.
+    $this->drupalPostAjaxForm('node/add/paragraphed_test', [], 'field_paragraphs_nested_paragraph_add_more');
+    $edit = [
+      'title[0][value]' => 'collapsed_test',
+    ];
+    $this->drupalPostFormSave(NULL, $edit, t('Save and publish'), t('Save'), $edit + ['status[value]' => TRUE]);
+
+    // Check an empty nested paragraph summary.
+    $this->clickLink('Edit');
+    $this->assertRaw('class="paragraphs-collapsed-description">');
+
   }
 
   /**
diff --git a/tests/src/Kernel/ParagraphsCollapsedSummaryTest.php b/tests/src/Kernel/ParagraphsCollapsedSummaryTest.php
new file mode 100644
index 0000000..e22033f
--- /dev/null
+++ b/tests/src/Kernel/ParagraphsCollapsedSummaryTest.php
@@ -0,0 +1,180 @@
+<?php
+
+namespace Drupal\Tests\paragraphs\Kernel;
+
+use Drupal\field\Entity\FieldConfig;
+use Drupal\field\Entity\FieldStorageConfig;
+use Drupal\field_ui\Tests\FieldUiTestTrait;
+use Drupal\paragraphs\Entity\Paragraph;
+use Drupal\paragraphs\Entity\ParagraphsType;
+use Drupal\KernelTests\KernelTestBase;
+
+/**
+ * Tests the collapsed summary options.
+ *
+ * @group paragraphs
+ */
+class ParagraphsCollapsedSummaryTest extends KernelTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = [
+    'paragraphs',
+    'user',
+    'system',
+    'field',
+    'entity_reference_revisions',
+    'paragraphs_test',
+    'file',
+  ];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    $this->installEntitySchema('user');
+    $this->installEntitySchema('paragraph');
+    $this->installSchema('system', ['sequences']);
+    \Drupal::moduleHandler()->loadInclude('paragraphs', 'install');
+
+    // Create a text paragraph type with test_text_color plugin enabled.
+    $paragraph_type = ParagraphsType::create(array(
+      'label' => 'text_paragraph',
+      'id' => 'text_paragraph',
+      'behavior_plugins' => [
+        'test_text_color' => [
+          'enabled' => TRUE,
+        ]
+      ],
+    ));
+    $paragraph_type->save();
+    $this->addParagraphsField('text_paragraph', 'text', 'string');
+
+    // Add a nested Paragraph type.
+    $paragraphs_type = ParagraphsType::create([
+      'id' => 'nested_paragraph',
+      'label' => 'nested_paragraph',
+    ]);
+    $paragraphs_type->save();
+    $this->addParagraphsField('nested_paragraph', 'nested_paragraph_field', 'entity_reference_revisions', ['target_type' => 'paragraph']);
+  }
+
+  /**
+   * Tests the collapsed summary additional options.
+   */
+  public function testCollapsedSummaryOptions() {
+    // Create a paragraph and set its feature settings.
+    $paragraph = Paragraph::create([
+      'type' => 'text_paragraph',
+      'text' => 'Example text for a text paragraph',
+    ]);
+    $feature_settings = [
+      'test_text_color' => [
+        'text_color' => 'red'
+      ],
+    ];
+    $paragraph->setAllBehaviorSettings($feature_settings);
+    $paragraph->save();
+
+    // Load the paragraph and assert its stored feature settings.
+    $paragraph = Paragraph::load($paragraph->id());
+    $this->assertEquals($paragraph->getAllBehaviorSettings(), $feature_settings);
+    $this->assertEquals($paragraph->getSummary(), 'Example text for a text paragraph, Text color: red');
+
+    // Check the summary and the additional options.
+    $paragraph_1 = Paragraph::create([
+      'type' => 'nested_paragraph',
+      'nested_paragraph_field' => [$paragraph],
+    ]);
+    $paragraph_1->save();
+    $this->assertEquals($paragraph_1->getSummary(), '1 child, Example text for a text paragraph, Text color: red');
+    $this->assertEquals($paragraph_1->getSummary(['show_behavior_summary' => FALSE]), '1 child, Example text for a text paragraph');
+    $this->assertEquals($paragraph_1->getSummary(['depth_limit' => 0]), '');
+  }
+
+  /**
+   * Tests nested paragraph summary.
+   */
+  public function testNestedParagraphSummary() {
+    // Create a text paragraph.
+    $paragraph_text_1 = Paragraph::create([
+      'type' => 'text_paragraph',
+      'text' => 'Text paragraph on nested level',
+    ]);
+    $paragraph_text_1->save();
+
+    // Add a nested paragraph with the text inside.
+    $paragraph_nested_1 = Paragraph::create([
+      'type' => 'nested_paragraph',
+      'nested_paragraph_field' => [$paragraph_text_1],
+    ]);
+    $paragraph_nested_1->save();
+
+    // Create a new text paragraph.
+    $paragraph_text_2 = Paragraph::create([
+      'type' => 'text_paragraph',
+      'text' => 'Text paragraph on top level',
+    ]);
+    $paragraph_text_2->save();
+
+    // Add a nested paragraph with the new text and nested paragraph inside.
+    $paragraph_nested_2 = Paragraph::create([
+      'type' => 'nested_paragraph',
+      'nested_paragraph_field' => [$paragraph_text_2, $paragraph_nested_1],
+    ]);
+    $paragraph_nested_2->save();
+    $this->assertEquals($paragraph_nested_2->getSummary(['show_behavior_summary' => FALSE]), '2 children, Text paragraph on top level');
+    $this->assertEquals($paragraph_nested_2->getSummary(['show_behavior_summary' => FALSE, 'depth_limit' => 2]), '2 children, Text paragraph on top level, 1 child, Text paragraph on nested level');
+  }
+
+  /**
+   * Adds a field to a given paragraph type.
+   *
+   * @param string $paragraph_type_name
+   *   Paragraph type name to be used.
+   * @param string $field_name
+   *   Paragraphs field name to be used.
+   * @param string $field_type
+   *   Type of the field.
+   * @param array $field_edit
+   *   Edit settings for the field.
+   */
+  protected function addParagraphsField($paragraph_type_name, $field_name, $field_type, $field_edit = []) {
+    // Add a paragraphs field.
+    $field_storage = FieldStorageConfig::create([
+      'field_name' => $field_name,
+      'entity_type' => 'paragraph',
+      'type' => $field_type,
+      'cardinality' => '-1',
+      'settings' => $field_edit
+    ]);
+    $field_storage->save();
+    $field = FieldConfig::create([
+      'field_storage' => $field_storage,
+      'bundle' => $paragraph_type_name,
+      'settings' => [
+        'handler' => 'default:paragraph',
+        'handler_settings' => ['target_bundles' => NULL],
+      ],
+    ]);
+    $field->save();
+  }
+
+  /**
+   * Adds a Paragraphs type.
+   *
+   * @param string $paragraphs_type_name
+   *   Paragraph type name used to create.
+   */
+  protected function addParagraphsType($paragraphs_type_name) {
+    $paragraphs_type = ParagraphsType::create([
+      'id' => $paragraphs_type_name,
+      'label' => $paragraphs_type_name,
+    ]);
+    $paragraphs_type->save();
+  }
+}
