diff --git a/pwa.module b/pwa.module
index e906aa5..1eef2cd 100644
--- a/pwa.module
+++ b/pwa.module
@@ -28,15 +28,6 @@ function pwa_page_attachments(array &$attachments) {
   }
 
   $attachments['#attached']['html_head'][] = [$manifest_link, 'manifest'];
-
-  $theme_color = [
-    '#tag' => 'meta',
-    '#attributes' => [
-      'name' => 'theme-color',
-      'content' => $config->get('theme_color'),
-    ],
-  ];
-  $attachments['#attached']['html_head'][] = [$theme_color, 'theme_color'];
 }
 
 /**
diff --git a/pwa_meta_tags/config/install/pwa_meta_tags.config.yml b/pwa_meta_tags/config/install/pwa_meta_tags.config.yml
new file mode 100644
index 0000000..7c4b693
--- /dev/null
+++ b/pwa_meta_tags/config/install/pwa_meta_tags.config.yml
@@ -0,0 +1 @@
+meta_tags: ''
diff --git a/pwa_meta_tags/config/schema/pwa_meta_tags.schema.yml b/pwa_meta_tags/config/schema/pwa_meta_tags.schema.yml
new file mode 100644
index 0000000..c308221
--- /dev/null
+++ b/pwa_meta_tags/config/schema/pwa_meta_tags.schema.yml
@@ -0,0 +1,7 @@
+pwa_meta_tags.config:
+  type: config_object
+  label: 'PWA meta tags config'
+  mapping:
+    meta_tags:
+      type: text
+      label: 'Meta tags'
diff --git a/pwa_meta_tags/pwa_meta_tags.info.yml b/pwa_meta_tags/pwa_meta_tags.info.yml
new file mode 100644
index 0000000..547ba1c
--- /dev/null
+++ b/pwa_meta_tags/pwa_meta_tags.info.yml
@@ -0,0 +1,6 @@
+name: 'PWA meta tags'
+description: 'Meta tags for PWA.'
+core: 8.x
+type: module
+dependencies:
+  - pwa:pwa
diff --git a/pwa_meta_tags/pwa_meta_tags.install b/pwa_meta_tags/pwa_meta_tags.install
new file mode 100644
index 0000000..fa5fa9e
--- /dev/null
+++ b/pwa_meta_tags/pwa_meta_tags.install
@@ -0,0 +1,13 @@
+<?php
+/**
+ * @file
+ * PWA meta tags install hooks.
+ */
+
+/**
+ * Implements hook_uninstall().
+ */
+function pwa_meta_tags_uninstall() {
+  // Remove the pwa meta tags configuration.
+  \Drupal::configFactory()->getEditable('pwa_meta_tags.config')->delete();
+}
diff --git a/pwa_meta_tags/pwa_meta_tags.links.menu.yml b/pwa_meta_tags/pwa_meta_tags.links.menu.yml
new file mode 100644
index 0000000..83a28f2
--- /dev/null
+++ b/pwa_meta_tags/pwa_meta_tags.links.menu.yml
@@ -0,0 +1,5 @@
+pwa_meta_tags.config:
+  title: PWA meta tags settings
+  description: 'PWA meta tags configuration'
+  parent: system.admin_config_system
+  route_name: pwa_meta_tags.config
diff --git a/pwa_meta_tags/pwa_meta_tags.links.task.yml b/pwa_meta_tags/pwa_meta_tags.links.task.yml
new file mode 100644
index 0000000..6bc66ba
--- /dev/null
+++ b/pwa_meta_tags/pwa_meta_tags.links.task.yml
@@ -0,0 +1,8 @@
+pwa.config:
+  route_name: pwa.config
+  title: 'PWA'
+  base_route: pwa.config
+pwa_meta_tags.config:
+  route_name: pwa_meta_tags.config
+  title: 'PWA meta tags'
+  base_route: pwa.config
diff --git a/pwa_meta_tags/pwa_meta_tags.module b/pwa_meta_tags/pwa_meta_tags.module
new file mode 100644
index 0000000..eab4810
--- /dev/null
+++ b/pwa_meta_tags/pwa_meta_tags.module
@@ -0,0 +1,105 @@
+<?php
+
+/**
+ * @file
+ * PWA hooks.
+ */
+
+/**
+ * Implements hook_page_attachments().
+ */
+function pwa_meta_tags_page_attachments(array &$attachments) {
+  if (!\Drupal::currentUser()->hasPermission('access pwa')) {
+    return;
+  }
+
+  $config = \Drupal::config('pwa_meta_tags.config');
+  $tag_list = pwa_meta_tags_tag_list();
+  $tag_list += $config->get('theme_color_result');
+
+  $meta_tags = $config->get('meta_tags');
+  if (empty($meta_tags)) return;
+  $meta_tags = explode(', ', $meta_tags);
+
+  foreach ($meta_tags as $key) {
+    $string_tag = $tag_list[$key];
+    $dom = new DOMDocument;
+    $dom->loadHTML($string_tag);
+    $data = $dom->documentElement->firstChild->firstChild;
+    $tag_name = $data->tagName;
+
+    $tag_attributes = [];
+    foreach ($data->attributes as $attribute) {
+      $tag_attributes[$attribute->name] = $attribute->value;
+    }
+
+    if ($tag_name == 'link') {
+      $attachments['#attached']['html_head_link'][] = [$tag_attributes];
+    }
+    else {
+      $tag_data = [
+        '#tag' => $tag_name,
+        '#attributes' => $tag_attributes,
+      ];
+      $attachments['#attached']['html_head'][] = [$tag_data, $tag_attributes['name']];
+    }
+  }
+}
+
+function pwa_meta_tags_tag_list() {
+  return [
+    //list apple touch icons
+    'touch-icon-iphone' => '<link rel="apple-touch-icon" href="touch-icon-iphone.png">',
+    'touch-icon-ipad' => '<link rel="apple-touch-icon" sizes="152x152" href="touch-icon-ipad.png">',
+    'touch-icon-iphone-retina' => '<link rel="apple-touch-icon" sizes="180x180" href="touch-icon-iphone-retina.png">',
+    'touch-icon-ipad-retina' => '<link rel="apple-touch-icon" sizes="167x167" href="touch-icon-ipad-retina.png">',
+    //list apple specific metatags
+    'meta-capable' => '<meta name="apple-mobile-web-app-capable" content="yes">',
+    'meta-status-bar-style-default' => '<meta name="apple-mobile-web-app-status-bar-style" content="default">',
+    'meta-status-bar-style-black' => '<meta name="apple-mobile-web-app-status-bar-style" content="black">',
+    'meta-status-bar-style-black-translucent' => '<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">',
+    //list add to homescreen icons
+    'iphone5-splash' => '<link href="iphone5_splash.png" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />',
+    'iphone6-splash' => '<link href="iphone6_splash.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />',
+    'iphoneplus-splash' => '<link href="iphoneplus_splash.png" media="(device-width: 621px) and (device-height: 1104px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />',
+    'iphonex-splash' => '<link href="iphonex_splash.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />',
+    'iphonexr-splash' => '<link href="iphonexr_splash.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />',
+    'iphonexsmax-splash' => '<link href="iphonexsmax_splash.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />',
+    'ipad-splash' => '<link href="ipad_splash.png" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />',
+    'ipadpro1-splash' => '<link href="ipadpro1_splash.png" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />',
+    'ipadpro2-splash' => '<link href="ipadpro2_splash.png" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />',
+    'ipadpro3-splash' => '<link href="ipadpro3_splash.png" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />',
+  ];
+}
+
+function pwa_meta_tags_tag_list_apple_touch_icons() {
+  return [
+    'touch-icon-iphone' => '<link rel="apple-touch-icon" href="touch-icon-iphone.png">',
+    'touch-icon-ipad' => '<link rel="apple-touch-icon" sizes="152x152" href="touch-icon-ipad.png">',
+    'touch-icon-iphone-retina' => '<link rel="apple-touch-icon" sizes="180x180" href="touch-icon-iphone-retina.png">',
+    'touch-icon-ipad-retina' => '<link rel="apple-touch-icon" sizes="167x167" href="touch-icon-ipad-retina.png">',
+  ];
+}
+
+function pwa_meta_tags_tag_list_apple_specific_meta_tags() {
+  return [
+    'meta-capable' => '<meta name="apple-mobile-web-app-capable" content="yes">',
+    'meta-status-bar-style' => '<meta name="apple-mobile-web-app-status-bar-style" content="">',
+    'meta-theme-color' => '<meta name="theme-color" content="">',
+  ];
+}
+
+function pwa_meta_tags_tag_list_apple_home_screen_icons() {
+  return [
+    'iphone5-splash' => '<link href="iphone5_splash.png" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />',
+    'iphone6-splash' => '<link href="iphone6_splash.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />',
+    'iphoneplus-splash' => '<link href="iphoneplus_splash.png" media="(device-width: 621px) and (device-height: 1104px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />',
+    'iphonex-splash' => '<link href="iphonex_splash.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />',
+    'iphonexr-splash' => '<link href="iphonexr_splash.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />',
+    'iphonexsmax-splash' => '<link href="iphonexsmax_splash.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />',
+    'ipad-splash' => '<link href="ipad_splash.png" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />',
+    'ipadpro1-splash' => '<link href="ipadpro1_splash.png" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />',
+    'ipadpro2-splash' => '<link href="ipadpro2_splash.png" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />',
+    'ipadpro3-splash' => '<link href="ipadpro3_splash.png" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />',
+  ];
+}
diff --git a/pwa_meta_tags/pwa_meta_tags.routing.yml b/pwa_meta_tags/pwa_meta_tags.routing.yml
new file mode 100644
index 0000000..3c980ae
--- /dev/null
+++ b/pwa_meta_tags/pwa_meta_tags.routing.yml
@@ -0,0 +1,7 @@
+pwa_meta_tags.config:
+  path: '/admin/config/system/pwa_meta_tags'
+  defaults:
+    _form: '\Drupal\pwa_meta_tags\Form\ConfigurationForm'
+    _title: 'PWA meta tags'
+  requirements:
+    _permission: 'administer site configuration'
diff --git a/pwa_meta_tags/src/Form/ConfigurationForm.php b/pwa_meta_tags/src/Form/ConfigurationForm.php
new file mode 100644
index 0000000..281c88d
--- /dev/null
+++ b/pwa_meta_tags/src/Form/ConfigurationForm.php
@@ -0,0 +1,172 @@
+<?php
+
+namespace Drupal\pwa_meta_tags\Form;
+
+use Drupal\Core\Form\ConfigFormBase;
+// use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Form\FormStateInterface;
+
+/**
+ * Class ConfigurationForm.
+ *
+ * @package Drupal\pwa_meta_tags\Form
+ */
+class ConfigurationForm extends ConfigFormBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getFormId() {
+    return 'pwa_meta_tags_configuration_form';
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildForm(array $form, FormStateInterface $form_state) {
+    $config = $this->config('pwa_meta_tags.config');
+  
+    $form['first_list'] = [
+      '#type' => 'details',
+      '#title' => $this->t('Apple Touch Icons'),
+      '#open' => TRUE,
+    ];
+    
+    $form['first_list']['apple_touch_icons'] = [
+      "#type" => 'checkboxes',
+      "#title" => $this->t(''),
+      "#options" => str_replace('<', '&lt;', pwa_meta_tags_tag_list_apple_touch_icons()),
+      '#default_value' => explode(', ', $config->get('meta_tags')),
+    ];
+  
+    $form['second_list'] = [
+      '#type' => 'details',
+      '#title' => $this->t('Apple Specific Meta Tags'),
+      '#open' => TRUE,
+    ];
+  
+    $meta_tags = $config->get('meta_tags');
+    if (strpos($meta_tags, 'meta-status-bar-style') !== false) {
+      $meta_tags .= ', meta-status-bar-style';
+    }
+    //drupal_set_message(print_r($meta_tags,1), error);
+    
+    $form['second_list']['apple_specific_meta_tags'] = [
+      "#type" => 'checkboxes',
+      "#title" => $this->t(''),
+      "#options" => str_replace('<', '&lt;', pwa_meta_tags_tag_list_apple_specific_meta_tags()),
+      '#default_value' => explode(', ', $meta_tags),
+    ];
+  
+    $form['second_list']['color_select'] = [
+      "#type" => 'select',
+      "#title" => $this->t('Select color for status-bar-style'),
+      '#options' => [
+        '1' => $this
+          ->t('Default'),
+        '2' => $this
+          ->t('Black'),
+        '3' => $this
+          ->t('Black-translucent'),
+      ],
+      '#states' => [
+        'invisible' => [
+          ':input[value="meta-status-bar-style"]' => ['checked' => FALSE],
+        ],
+      ],
+      '#default_value' => $config->get('color_select'),
+    ];
+  
+    $form['second_list']['meta_theme_color'] = [
+      "#type" => 'color',
+      "#title" => $this->t('Select color for meta-theme-color'),
+      '#states' => [
+        'invisible' => [
+          ':input[value="meta-theme-color"]' => ['checked' => FALSE],
+        ],
+      ],
+      '#default_value' => $config->get('meta_theme_color'),
+    ];
+    
+  
+    $form['third_list'] = [
+      '#type' => 'details',
+      '#title' => $this->t('Apple add to homescreen icons'),
+      '#open' => TRUE,
+    ];
+  
+    $form['third_list']['apple_home_screen_icons'] = [
+      "#type" => 'checkboxes',
+      "#title" => $this->t(''),
+      "#options" => str_replace('<', '&lt;', pwa_meta_tags_tag_list_apple_home_screen_icons()),
+      '#default_value' => explode(', ', $config->get('meta_tags')),
+    ];
+
+    return parent::buildForm($form, $form_state);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function validateForm(array &$form, FormStateInterface $form_state) {}
+
+  /**
+   * {@inheritdoc}
+   */
+  public function submitForm(array &$form, FormStateInterface $form_state) {
+    $config = $this->config('pwa_meta_tags.config');
+
+    // Save new config data
+    $meta_tags = [];
+    
+    foreach ($form_state->getValue('apple_touch_icons') as $key => $value) {
+      if ($value) $meta_tags[] = $key;
+    }
+  
+    foreach ($form_state->getValue('apple_specific_meta_tags') as $key => $value) {
+      if (!empty($value) && $key == 'meta-status-bar-style') {
+        $options = $form_state->getValue('color_select');
+        switch ($options) {
+          case 1:
+            $meta_tags[] = 'meta-status-bar-style-default';
+            break;
+          case 2:
+            $meta_tags[] = 'meta-status-bar-style-black';
+            break;
+          case 3:
+            $meta_tags[] = 'meta-status-bar-style-black-translucent';
+            break;
+        }
+        
+      }elseif ($value && $key != 'meta-status-bar-style') {
+        $meta_tags[] = $key;
+      }
+      
+    }
+  
+    foreach ($form_state->getValue('apple_home_screen_icons') as $key => $value) {
+      if ($value) $meta_tags[] = $key;
+    }
+  
+    $theme_color_result = [];
+    if (!empty($form_state->getValue('meta_theme_color'))){
+      $theme_color_result = ['meta-theme-color' => '<meta name="theme-color" content="' . $form_state->getValue('meta_theme_color') . '">'];
+    }
+    
+    $config
+      ->set('meta_tags', implode(', ', $meta_tags))
+      ->set('color_select', $form_state->getValue('color_select'))
+      ->set('meta_theme_color', $form_state->getValue('meta_theme_color'))
+      ->set('theme_color_result', $theme_color_result)
+      ->save();
+
+    parent::submitForm($form, $form_state);
+  }
+
+  /**
+   * @return config settings.
+   */
+  protected function getEditableConfigNames() {
+    return ['pwa_meta_tags.config'];
+  }
+}
