{"id":335023,"date":"2026-07-19T22:12:19","date_gmt":"2026-07-19T22:12:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/form-builder-block\/"},"modified":"2026-07-19T22:11:48","modified_gmt":"2026-07-19T22:11:48","slug":"beautyforms-form-builder","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/beautyforms-form-builder\/","author":23087444,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"BeautyForms Form Builder","header_author":"BeautifulPlugins","header_description":"A block-editor form builder. Compose forms from native field blocks and collect submissions as a custom post type.","assets_banners_color":"faf8fe","last_updated":"2026-07-19 22:11:48","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/beautifulplugins.com\/beautyforms-form-builder\/","header_author_uri":"https:\/\/beautifulplugins.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":45,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"beautifulplugins","date":"2026-07-19 22:11:48"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3613967,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3613967,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3613967,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3613967,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"beautyforms\/field-select":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"beautyforms\/field-select","version":"1.0.0","title":"Select Field","category":"beautyforms","icon":"menu","description":"A dropdown select field.","ancestor":["beautyforms\/form"],"keywords":["select","dropdown","choice","field"],"attributes":{"label":{"type":"string","default":"Select"},"fieldName":{"type":"string","default":""},"placeholder":{"type":"string","default":""},"helpText":{"type":"string","default":""},"required":{"type":"boolean","default":false},"defaultValue":{"type":"string","default":""},"width":{"type":"string","default":"100"},"options":{"type":"array","default":[{"label":"Option 1","value":""},{"label":"Option 2","value":""}]}},"supports":{"html":false,"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true},"color":{"text":true,"background":true},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true}},"textdomain":"beautyforms-form-builder","editorScript":"file:.\/index.js","render":"file:.\/render.php"},"beautyforms\/field-hidden":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"beautyforms\/field-hidden","version":"1.0.0","title":"Hidden Field","category":"beautyforms","icon":"hidden","description":"A hidden field carrying a preset value.","ancestor":["beautyforms\/form"],"keywords":["hidden","field"],"attributes":{"label":{"type":"string","default":"Hidden"},"fieldName":{"type":"string","default":""},"defaultValue":{"type":"string","default":""}},"supports":{"html":false},"textdomain":"beautyforms-form-builder","editorScript":"file:.\/index.js","render":"file:.\/render.php"},"beautyforms\/form":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"beautyforms\/form","version":"1.0.0","title":"Form","category":"beautyforms","icon":"feedback","description":"A form built from field blocks. Add fields inside, then set recipients and success behavior.","keywords":["form","contact","field","input","submission"],"supports":{"html":false,"anchor":true,"align":["wide","full"],"color":{"text":true,"background":true,"gradients":true},"spacing":{"padding":true,"margin":true,"blockGap":true},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true},"shadow":true,"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true}},"attributes":{"formId":{"type":"string","default":""},"recipients":{"type":"string","default":""},"subject":{"type":"string","default":""},"fromName":{"type":"string","default":""},"fromEmail":{"type":"string","default":""},"successAction":{"type":"string","default":"message"},"successMessage":{"type":"string","default":""},"redirectUrl":{"type":"string","default":""},"honeypot":{"type":"boolean","default":true},"timeTrap":{"type":"boolean","default":true},"storeSubmissions":{"type":"boolean","default":true}},"textdomain":"beautyforms-form-builder","editorScript":["beautyforms-config","file:.\/index.js"],"editorStyle":"file:.\/index.css","style":"file:.\/style-index.css","viewScript":"file:.\/view.js","render":"file:.\/render.php"},"beautyforms\/field-email":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"beautyforms\/field-email","version":"1.0.0","title":"Email Field","category":"beautyforms","icon":"email","description":"An email address field with validation.","ancestor":["beautyforms\/form"],"keywords":["input","email","field"],"attributes":{"label":{"type":"string","default":"Email"},"fieldName":{"type":"string","default":""},"placeholder":{"type":"string","default":""},"helpText":{"type":"string","default":""},"required":{"type":"boolean","default":false},"defaultValue":{"type":"string","default":""},"width":{"type":"string","default":"100"}},"supports":{"html":false,"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true},"color":{"text":true,"background":true},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true}},"textdomain":"beautyforms-form-builder","editorScript":"file:.\/index.js","render":"file:.\/render.php"},"beautyforms\/field-text":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"beautyforms\/field-text","version":"1.0.0","title":"Text Field","category":"beautyforms","icon":"edit","description":"A single-line text field.","ancestor":["beautyforms\/form"],"keywords":["input","text","field"],"attributes":{"label":{"type":"string","default":"Text"},"fieldName":{"type":"string","default":""},"placeholder":{"type":"string","default":""},"helpText":{"type":"string","default":""},"required":{"type":"boolean","default":false},"defaultValue":{"type":"string","default":""},"width":{"type":"string","default":"100"}},"supports":{"html":false,"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true},"color":{"text":true,"background":true},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true}},"textdomain":"beautyforms-form-builder","editorScript":"file:.\/index.js","render":"file:.\/render.php"},"beautyforms\/field-textarea":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"beautyforms\/field-textarea","version":"1.0.0","title":"Textarea Field","category":"beautyforms","icon":"editor-paragraph","description":"A multi-line text field.","ancestor":["beautyforms\/form"],"keywords":["input","textarea","message","field"],"attributes":{"label":{"type":"string","default":"Message"},"fieldName":{"type":"string","default":""},"placeholder":{"type":"string","default":""},"helpText":{"type":"string","default":""},"required":{"type":"boolean","default":false},"defaultValue":{"type":"string","default":""},"width":{"type":"string","default":"100"},"rows":{"type":"number","default":5}},"supports":{"html":false,"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true},"color":{"text":true,"background":true},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true}},"textdomain":"beautyforms-form-builder","editorScript":"file:.\/index.js","render":"file:.\/render.php"},"beautyforms\/field-url":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"beautyforms\/field-url","version":"1.0.0","title":"URL Field","category":"beautyforms","icon":"admin-links","description":"A URL field with validation.","ancestor":["beautyforms\/form"],"keywords":["input","url","link","field"],"attributes":{"label":{"type":"string","default":"Website"},"fieldName":{"type":"string","default":""},"placeholder":{"type":"string","default":""},"helpText":{"type":"string","default":""},"required":{"type":"boolean","default":false},"defaultValue":{"type":"string","default":""},"width":{"type":"string","default":"100"}},"supports":{"html":false,"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true},"color":{"text":true,"background":true},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true}},"textdomain":"beautyforms-form-builder","editorScript":"file:.\/index.js","render":"file:.\/render.php"},"beautyforms\/field-submit":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"beautyforms\/field-submit","version":"1.0.0","title":"Submit Button","category":"beautyforms","icon":"button","description":"The button that submits the form.","ancestor":["beautyforms\/form"],"keywords":["submit","button","send"],"attributes":{"buttonText":{"type":"string","default":"Submit"},"width":{"type":"string","default":"100"}},"supports":{"html":false,"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true},"color":{"text":true,"background":true,"gradients":true},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true}},"textdomain":"beautyforms-form-builder","editorScript":"file:.\/index.js","render":"file:.\/render.php"},"beautyforms\/field-date":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"beautyforms\/field-date","version":"1.0.0","title":"Date Field","category":"beautyforms","icon":"calendar-alt","description":"A date picker field.","ancestor":["beautyforms\/form"],"keywords":["input","date","field"],"attributes":{"label":{"type":"string","default":"Date"},"fieldName":{"type":"string","default":""},"placeholder":{"type":"string","default":""},"helpText":{"type":"string","default":""},"required":{"type":"boolean","default":false},"defaultValue":{"type":"string","default":""},"width":{"type":"string","default":"100"}},"supports":{"html":false,"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true},"color":{"text":true,"background":true},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true}},"textdomain":"beautyforms-form-builder","editorScript":"file:.\/index.js","render":"file:.\/render.php"},"beautyforms\/field-radio":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"beautyforms\/field-radio","version":"1.0.0","title":"Radio Field","category":"beautyforms","icon":"marker","description":"A single-choice radio button group.","ancestor":["beautyforms\/form"],"keywords":["radio","choice","field"],"attributes":{"label":{"type":"string","default":"Choose one"},"fieldName":{"type":"string","default":""},"placeholder":{"type":"string","default":""},"helpText":{"type":"string","default":""},"required":{"type":"boolean","default":false},"defaultValue":{"type":"string","default":""},"width":{"type":"string","default":"100"},"options":{"type":"array","default":[{"label":"Option 1","value":""},{"label":"Option 2","value":""}]}},"supports":{"html":false,"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true},"color":{"text":true,"background":true},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true}},"textdomain":"beautyforms-form-builder","editorScript":"file:.\/index.js","render":"file:.\/render.php"},"beautyforms\/field-phone":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"beautyforms\/field-phone","version":"1.0.0","title":"Phone Field","category":"beautyforms","icon":"phone","description":"A telephone number field.","ancestor":["beautyforms\/form"],"keywords":["input","phone","tel","field"],"attributes":{"label":{"type":"string","default":"Phone"},"fieldName":{"type":"string","default":""},"placeholder":{"type":"string","default":""},"helpText":{"type":"string","default":""},"required":{"type":"boolean","default":false},"defaultValue":{"type":"string","default":""},"width":{"type":"string","default":"100"}},"supports":{"html":false,"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true},"color":{"text":true,"background":true},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true}},"textdomain":"beautyforms-form-builder","editorScript":"file:.\/index.js","render":"file:.\/render.php"},"beautyforms\/field-number":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"beautyforms\/field-number","version":"1.0.0","title":"Number Field","category":"beautyforms","icon":"calculator","description":"A numeric field with optional min, max and step.","ancestor":["beautyforms\/form"],"keywords":["input","number","field"],"attributes":{"label":{"type":"string","default":"Number"},"fieldName":{"type":"string","default":""},"placeholder":{"type":"string","default":""},"helpText":{"type":"string","default":""},"required":{"type":"boolean","default":false},"defaultValue":{"type":"string","default":""},"width":{"type":"string","default":"100"},"min":{"type":"string","default":""},"max":{"type":"string","default":""},"step":{"type":"string","default":""}},"supports":{"html":false,"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true},"color":{"text":true,"background":true},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true}},"textdomain":"beautyforms-form-builder","editorScript":"file:.\/index.js","render":"file:.\/render.php"},"beautyforms\/field-checkbox":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"beautyforms\/field-checkbox","version":"1.0.0","title":"Checkbox Field","category":"beautyforms","icon":"yes","description":"A single consent checkbox or a multi-choice group.","ancestor":["beautyforms\/form"],"keywords":["checkbox","consent","choice","field"],"attributes":{"label":{"type":"string","default":"I agree"},"fieldName":{"type":"string","default":""},"placeholder":{"type":"string","default":""},"helpText":{"type":"string","default":""},"required":{"type":"boolean","default":false},"defaultValue":{"type":"string","default":""},"width":{"type":"string","default":"100"},"mode":{"type":"string","default":"single"},"options":{"type":"array","default":[]}},"supports":{"html":false,"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true},"color":{"text":true,"background":true},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true}},"textdomain":"beautyforms-form-builder","editorScript":"file:.\/index.js","render":"file:.\/render.php"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3613967,"resolution":"1","location":"assets","locale":"","width":1920,"height":1080}},"screenshots":[]},"plugin_section":[],"plugin_tags":[148857,358,2253,601,148076],"plugin_category":[42],"plugin_contributors":[231761],"plugin_business_model":[],"class_list":["post-335023","plugin","type-plugin","status-publish","hentry","plugin_tags-block-editor","plugin_tags-contact-form","plugin_tags-form-builder","plugin_tags-forms","plugin_tags-gutenberg","plugin_category-contact-forms","plugin_contributors-beautifulplugins","plugin_committers-beautifulplugins"],"banners":{"banner":"https:\/\/ps.w.org\/beautyforms-form-builder\/assets\/banner-772x250.png?rev=3613967","banner_2x":"https:\/\/ps.w.org\/beautyforms-form-builder\/assets\/banner-1544x500.png?rev=3613967","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/beautyforms-form-builder\/assets\/icon-128x128.png?rev=3613967","icon_2x":"https:\/\/ps.w.org\/beautyforms-form-builder\/assets\/icon-256x256.png?rev=3613967","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/beautyforms-form-builder\/assets\/screenshot-1.png?rev=3613967","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>BeautyForms Form Builder<\/strong> is a lightweight, block-native form builder for the WordPress block editor. A form is just a block: drop in a <strong>Form<\/strong> block, nest the field blocks you need, and publish. Submissions are validated on the server and stored as entries.<\/p>\n\n<p>Because every field is a real block, forms live inside normal posts and pages \u2014 no shortcodes, no embeds, no separate builder screen. Reuse a form anywhere with core synced patterns.<\/p>\n\n<h4>Fields<\/h4>\n\n<ul>\n<li>Text, Email, Textarea, Number, Phone, URL<\/li>\n<li>Select, Radio, Checkbox (single consent and multiple)<\/li>\n<li>Date, Hidden, Submit<\/li>\n<\/ul>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Native styling<\/strong> \u2014 fields use the block editor's own spacing, typography, color, and border controls. Nothing hand-rolled to relearn.<\/li>\n<li><strong>Server-side validation<\/strong> \u2014 the server rebuilds the form's field schema from the source post and validates every submission against it. The browser's field list is never trusted.<\/li>\n<li><strong>Spam protection<\/strong> \u2014 a honeypot field and a submission time-trap, both on by default.<\/li>\n<li><strong>Email notifications<\/strong> \u2014 send submissions to one or more recipients with a configurable subject and from address.<\/li>\n<li><strong>Entry storage<\/strong> \u2014 submissions are saved as a <code>beautyforms_entry<\/code> custom post type with one meta value per field.<\/li>\n<li><strong>Success behavior<\/strong> \u2014 show a message or redirect to a URL.<\/li>\n<li><strong>Developer friendly<\/strong> \u2014 extend the field allowlist through the <code>beautyforms_field_blocks<\/code> filter and hook <code>beautyforms_submission_saved<\/code> to react to new entries.<\/li>\n<\/ul>\n\n<h3>License<\/h3>\n\n<p>BeautyForms Form Builder is distributed under the terms of the GNU General Public License v2 or later. See https:\/\/www.gnu.org\/licenses\/gpl-2.0.html for more details.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/beautyforms-form-builder<\/code>, or install through the WordPress plugins screen.<\/li>\n<li>Activate the plugin from the Plugins screen.<\/li>\n<li>Edit any post or page, add the <strong>Form<\/strong> block, and insert the field blocks you need.<\/li>\n<li>Configure recipients and success behavior in the Form block settings, then publish.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20are%20submissions%20stored%3F\"><h3>Where are submissions stored?<\/h3><\/dt>\n<dd><p>Each submission is stored as a <code>beautyforms_entry<\/code> custom post type with one meta value per field. Notification emails are sent to the recipients you configure.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20classic%20editor%3F\"><h3>Does it work with the classic editor?<\/h3><\/dt>\n<dd><p>No. BeautyForms Form Builder is built exclusively for the WordPress block editor.<\/p><\/dd>\n<dt id=\"how%20do%20i%20reuse%20a%20form%20across%20pages%3F\"><h3>How do I reuse a form across pages?<\/h3><\/dt>\n<dd><p>A form is a normal block, so use a core synced pattern to reuse it anywhere.<\/p><\/dd>\n<dt id=\"can%20developers%20add%20their%20own%20field%20types%3F\"><h3>Can developers add their own field types?<\/h3><\/dt>\n<dd><p>Yes. Register a block in the <code>beautyforms<\/code> category and append it to the allowlist with the <code>beautyforms_field_blocks<\/code> filter.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Build forms directly in the block editor from native field blocks and collect submissions as a custom post type.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/335023","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=335023"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/beautifulplugins"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=335023"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=335023"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=335023"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=335023"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=335023"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=335023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}