diff --git a/assets/js/src/form_editor/blocks/submit/edit.jsx b/assets/js/src/form_editor/blocks/submit/edit.jsx
new file mode 100644
index 0000000000..3207d361d1
--- /dev/null
+++ b/assets/js/src/form_editor/blocks/submit/edit.jsx
@@ -0,0 +1,41 @@
+import React from 'react';
+
+import { InspectorControls } from '@wordpress/block-editor';
+import { TextControl, Panel, PanelBody } from '@wordpress/components';
+import PropTypes from 'prop-types';
+import MailPoet from 'mailpoet';
+
+const SubmitEdit = ({ attributes, setAttributes }) => {
+ const inspectorControls = (
+
+
+
+ (setAttributes({ label }))}
+ />
+
+
+
+
+ );
+
+ return (
+ <>
+ { inspectorControls }
+
+
+
+ >
+ );
+};
+
+SubmitEdit.propTypes = {
+ attributes: PropTypes.shape({
+ label: PropTypes.string.isRequired,
+ }).isRequired,
+ setAttributes: PropTypes.func.isRequired,
+};
+
+export default SubmitEdit;
diff --git a/assets/js/src/form_editor/blocks/submit/icon.jsx b/assets/js/src/form_editor/blocks/submit/icon.jsx
new file mode 100644
index 0000000000..0382726f67
--- /dev/null
+++ b/assets/js/src/form_editor/blocks/submit/icon.jsx
@@ -0,0 +1,11 @@
+import React from 'react';
+import { G, Path, SVG } from '@wordpress/components';
+
+export default (
+
+);
diff --git a/assets/js/src/form_editor/blocks/submit/submit.jsx b/assets/js/src/form_editor/blocks/submit/submit.jsx
new file mode 100644
index 0000000000..57eaa4638c
--- /dev/null
+++ b/assets/js/src/form_editor/blocks/submit/submit.jsx
@@ -0,0 +1,27 @@
+import MailPoet from 'mailpoet';
+import edit from './edit.jsx';
+import icon from './icon.jsx';
+
+export const name = 'mailpoet-form/submit-button';
+
+export const settings = {
+ title: MailPoet.I18n.t('blockSubmit'),
+ description: MailPoet.I18n.t('blockSubmitDescription'),
+ icon,
+ attributes: {
+ label: {
+ type: 'string',
+ default: MailPoet.I18n.t('blockSubmitLabel'),
+ },
+ },
+ category: 'obligatory',
+ supports: {
+ html: false,
+ customClassName: false,
+ inserter: false,
+ },
+ edit,
+ save() {
+ return null;
+ },
+};