diff --git a/core/modules/node/node.tokens.inc b/core/modules/node/node.tokens.inc
index 30bd1c6b95..cb5a3d7c18 100644
--- a/core/modules/node/node.tokens.inc
+++ b/core/modules/node/node.tokens.inc
@@ -51,6 +51,14 @@ function node_token_info() {
     'name' => t('Language code'),
     'description' => t('The language code of the language the node is written in.'),
   ];
+  $node['status'] = [
+    'name' => t('Status'),
+    'description' => t('The publication status of the node (0 or 1).'),
+  ];
+  $node['published'] = [
+    'name' => t('Published'),
+    'description' => t('The publication status of the node ("Published" or "Unpublished").'),
+  ];
   $node['url'] = [
     'name' => t("URL"),
     'description' => t("The URL of the node."),
@@ -167,6 +175,14 @@ function node_tokens($type, $tokens, array $data, array $options, BubbleableMeta
           $replacements[$original] = $node->language()->getId();
           break;
 
+        case 'status':
+          $replacements[$original] = (int) $node->isPublished();
+          break;
+
+        case 'published':
+          $replacements[$original] = $node->isPublished() ? t('Published') : t('Unpublished');
+          break;
+
         case 'url':
           $replacements[$original] = $node->toUrl('canonical', $url_options)->toString();
           break;
