I have followed the below link to add captcha in custom form https://magento.stackexchange.com/questions/133238/magento-2-how-to-add-captcha-to-a-custom-form Here is my config.xml of [Vendor]/[Module]/etc <default> <customer> <captcha> <shown_to_logged_in_user> <captcha_form>1</captcha_form> </shown_to_logged_in_user> <always_for> <captcha_form>1</captcha_form> </always_for> </captcha> </customer> <captcha translate="label"> <frontend> <areas> <captcha_form> <label>Captcha Form</label> </captcha_form> </areas> </frontend> </captcha> </default> </config> This is the code in layout file app/design/frontend/[Vendor]/[Theme]/Magento_Customer/layout/customer_account_renew.xml <referenceContainer name="content"> <block class="Vendor\Module\Block\Customer\Renewal" name="customer_form_renewal" template="Magento_Customer::form/renewal.phtml" cacheable="false"> <container name="form.additional.info" label="Form Additional Info"> <block class="Magento\Captcha\Block\Captcha" name="captcha" after="-" cacheable="false"> <action method="setFormId"> <argument name="formId" xsi:type="string">custom_form</argument> </action> <action method="setImgWidth"> <argument name="width" xsi:type="string">230</argument> </action> <action method="setImgHeight"> <argument name="width" xsi:type="string">50</argument> </action> </block> </container> </block> </referenceContainer> <referenceBlock name="head.components"> <block class="Magento\Framework\View\Element\Js\Components" name="captcha_page_head_components" template="Magento_Captcha::js/components.phtml"/> </referenceBlock> I have used below code in my renewal.phtml like below <?php echo $block->getChildHtml('form.additional.info'); ?> It is showing in admin panel in customer configuration and i have enabled the setting, but i can't see the captcha inside my custom page. What is the error please someone suggest me.