formatting a select custom field I created a custom field with the following definition:

  public function formElement(FieldItemListInterface $items, $delta, array $element, array &amp;$form, FormStateInterface $form_state) {

    $value = isset($items[$delta]-&gt;value) ? $items[$delta]-&gt;value : '';

    $element += [
      '#type' =&gt; 'select',
      '#title' =&gt; $this-&gt;t('Select item'),
      '#options' =&gt; [
        'empty' =&gt; $this-&gt;t('Select an item'),
        'key1' =&gt; $this-&gt;t('value1'),
        'key2' =&gt; $this-&gt;t('value2'),
        'key3' =&gt; $this-&gt;t('value3'),
      ],
      '#suffix' =&gt; '&lt;div class="custom-field-widget"&gt;&lt;/div&gt;',
      '#attributes' =&gt; ['class' =&gt; ['edit-custom-field-widget']],
      '#attached' =&gt; [
        'library' =&gt; [
          'custom_field/my_js_custom_field',
        ],
      ],
    ];

    return ['value' =&gt; $element];
  }


In Formatter class I wrote this:

  public function viewElements(FieldItemListInterface $items, $langcode) {
    $elements = [];

    foreach ($items as $delta =&gt; $item) {
        $elements[$delta] = [
          '#type' =&gt; 'html_tag',
          '#tag' =&gt; 'p',
          '#value' =&gt; $item-&gt;value,
      ];
    }
    return $elements;
  }


When I show content type item with my custom field I see 

"key1" but I would like to see: "value1"

Is it possible to show "value1" directly or are other operations necessary?
For the select Form element, the array key is the value, and the array value is the display of the option. That's why you're getting 'key1' for example.
If you want to achieve your goal you can write it this way:   

'#options' =&gt; [
    'empty' =&gt; $this-&gt;t('Select an item'),
    $this-&gt;t('value1')-&gt;render() =&gt; $this-&gt;t('value1'),
    $this-&gt;t('value1')-&gt;render() =&gt; $this-&gt;t('value2'),
    $this-&gt;t('value1')-&gt;render() =&gt; $this-&gt;t('value3'),
],


Although this doesn't seem right :D
Also, while you're at it, you should check 'Select' form element documentation as you shouldn't add 'empty' value but rather use the '#empty_value'and '#empty_options' properties.