Search Over 30,000 FREE Plugins from the Official WordPress Plugin Directory Repository

User registration & user profile - Profile Builder

Simple to use profile plugin allowing front-end login, user registration and edit profile by using shortcodes.

Profile Builder is WordPress user registration done right.

Like this plugin? Consider leaving a 5 star review.

It lets you customize your website by adding a front-end menu for all your users, giving them a more flexible way to modify their user profile or register users (front-end user registration). Users with administrator rights can customize basic user fields or add custom user fields to the front-end forms.

To achieve this, simply create a new page and give it an intuitive name(i.e. Edit Profile). Now all you need to do is add the following shortcode: [wppb-edit-profile]. Publish the page and you are done!

Front-end User Registration, Login, Edit Profile and Password Recovery Shortcodes

You can use the following shortcode list:

  • [wppb-edit-profile] - to grant users front-end access to their user profile (requires user to be logged in).
  • [wppb-login] - to add a front-end login form.
  • [wppb-logout] - to add logout functionality.
  • [wppb-register] - register users via a front-end register form.
  • [wppb-recover-password] - to add a password recovery form.

Users with administrator rights have access to the following features:

  • drag & drop to reorder user profile fields
  • enable Email Confirmation (on registration users will receive a notification to confirm their email address).
  • allow users to Log-in with their Username or Email
  • enforce a minimum password length and minimum password strength (using the default WordPress password strength meter)
  • assign users a specific role at registration (using [wppb-register role="desired_role"] shortcode argument for the register form)
  • redirect users after login, register and edit-profile using redirect_url shortcode argument ( e.g [wppb-login redirect_url=""] )
  • add register and lost password links below the login form (using [wppb-login register_url="" lostpassword_url=""] shortcode arguments)
  • customizable user login widget
  • add a custom stylesheet/inherit values from the current theme or use the default one built into this plugin.
  • chose which user roles view the admin bar in the front-end of the website (Admin Bar Settings page).
  • select which profile fields users can use in frontend.
  • extended functionality available via Add-ons


The Pro version has the following extra features:

  • Create Extra User Fields (Heading, Input, Hidden-Input, Checkbox, Agree to Terms Checkbox, Radio Buttons, DatePicker, Textareas, WYSIWYG, reCAPTCHA, Upload fields, Selects, User Role Select, Country Select, Timezone Select, Avatar Upload, Map, HTML, Phone, Time Picker, ColorPicker, Custom Validation field, Currency Select)
  • Add Avatar Upload for users
  • Support for Conditional Fields
  • Front-end User Listing (fully customizable, sorting included)
  • Create Multiple User Listings
  • Custom Redirects
  • Multiple Registration Forms (set up multiple registration forms with different profile fields for certain user roles)
  • Multiple Edit Profile Forms
  • Admin Approval
  • Email Customizer (Personalize all emails sent to your users or admins; customize default WordPress registration email)
  • reCAPTCHA on user registration form
  • Advanced Modules (e.g. custom redirects, user listing, multiple registration forms etc.)
  • Access to support forums and documentation
  • 1 Year of Updates / Priority Support

Find out more about Profile Builder PRO


For more functionality check out Profile Builder Add-ons page

Free Add-ons

Premium Add-ons

  • WooCommerce Sync - integrates Profile Builder with WooCommerce, allowing you to manage Shipping and Billing fields from WooCommerce with PB and more
  • Social Connect - enable social login on your website, users can login with Facebook, Google+ or Twitter
  • Custom Profile Menus - add custom menu items like Login/Logout or just Logout button and Login/Register/Edit Profile in iFrame Popup
  • MailChimp - allow users to subscribe to your Mailchimp lists directly from the Register or Edit Profile forms
  • Campaign Monitor - allow users to subscribe to your Campaign Monitor lists directly from the Register or Edit Profile forms
  • MailPoet - allow users to subscribe to your MailPoet lists directly from the Register and Edit Profile forms
  • Field Visibility - allows you to change the visibility options for the extra fields



Profile Builder in your Language

We're focusing on translating Profile Builder in as many languages as we can. So far, the translations for 10 languages are almost complete, but we still need help on a lot of other languages, so please join us at You will be able to download all the available language packs as well as help us translate Profile Builder in your language.

NOTE: This plugin adds/removes user fields in the front-end. Both default and extra profile fields will be visible in the back-end as well.

Author Cozmoslabs, Madalin Ungureanu, Antohe Cristian, Barina Gabriel, Mihai Iova
Contributors cozmoslabs, reflectionmedia, sareiodata, adispiac, madalin.ungureanu, iova.mihai, barinagabriel
Tags edit profile, email confirmation, extra user fields, front-end edit profile, front-end login, front-end user registration, login form, user custom fields, user profile, User Registration, user registration form, user-fields
  1. profile-builder screenshot 1

    Basic Information - Profile Builder, front-end user registration plugin

  2. profile-builder screenshot 2

    General Settings - Profile Builder, front-end user registration plugin

  3. profile-builder screenshot 3

    Show/Hide Admin Bar

  4. profile-builder screenshot 4

    Profile Builder - Manage Default User Fields (Add, Edit or Delete)

  5. profile-builder screenshot 5

    Profile Builder - Drag & Drop to Reorder User Profile Fields

  6. profile-builder screenshot 6

    Register Form - Front-end User Registration Page

  7. profile-builder screenshot 7

    User Login Page

  8. profile-builder screenshot 8

    Edit User Profile Page

  9. profile-builder screenshot 9

    Recover Password Page

  10. profile-builder screenshot 10

    Profile Builder Login Widget

  1. Upload the profile-builder folder to the '/wp-content/plugins/' directory
  2. Activate the plugin through the 'Plugins' menu in WordPress
  3. Create a new page and use one of the shortcodes available. Publish the page and you're done!


  • Compatibility fix with php 7.1
  • Redirects code refactoring which should fix some minor issues with redirects as well


  • Added Blog Details field type
  • Email From Name and Subject should now display proper special characters in all cases
  • Fix css issue with notice image on forms taking an inherit width instead of auto
  • Fixed an issue with automatic login with redirect on Firefox


  • CSS changes for the Twenty Seventeen theme
  • Fixed a notice caused sometimes by general settings option not setting properly
  • Small changes to readme file


  • Major improvement to loading performance of the Manage Fields admin interface
  • Added actions before and after submit form button:wppb_form_before_submit_button and wppb_form_after_submit_button
  • Added a filter on the forms submit button class
  • Updated Dutch translations


  • Updated translation files
  • Added a filter to the submit button which can be used to add extra attributes: wppb_form_submit_extra_attr
  • Fixed a warnings inside pb-compatiblities.php file
  • Changed text for Email Confirmation description in admin area
  • Fixed a bug with the "Add field" button in Manage Fields that wasn't disabled after we added a field
  • Reorganized and added filters on form id and form class on hte Profile Builder forms
  • Removed Note message from PMS cross promotion saying that PMS does not work with admin approval / email confirmation
  • Modified multiple filters


  • Improvements regarding caching plugins and user registration
  • Added a search field in the admin area on the Users with unconfirmed email address screen
  • Improved queries for displaying users in the admin area on the Users with unconfirmed email address screen


  • We now delete cache when updating a user with email confirmation so solve issues with cache-ing plugins
  • Fixed select2 JS error when select2 addon is inactive but select2 fields are still in front-end.
  • Fixed js issues in manage fields interface when opened multiple fields for editing: sorting was possible and it shouldn't, the first opened field disappeared, a stack limit exceeded error


  • Security improvements and fixes
  • Fixed a warning that happened on older WordPress versions regarding the get_user_by() function
  • Login with email uses default functions now for WordPress versions higher thab 4.5
  • Removed login with email when username is selected from settings
  • Removed sending password from default registration email


  • Now when an administrator registers an user the Register button text has changed to Add User
  • Multiple fixes regarding redirects
  • Fixed issues with redirect_url shortcode parameter and changed the logout shortcode parameter to redirect_url from redirect
  • Added the filter 'wppb_edit_other_users_dropdown_query_args' for changing the user query on the edit other users dropwdown


  • Fixed an issue with the redirect after registration autologin and string translations
  • Changes to Addons page to meet wp directory requirements
  • Fixed a bug with forms on static front pages and the username field


  • CSS modifications to accomodate dark/black themes
  • Small changes for E-mail Confirmation and Paid Member Subscriptions compatibility


  • Modifications to Addons Page
  • Apply filter to email on all forms to allow stripping slashes if necessary
  • Added filter so we can bypass Email Confirmation when needed
  • New menu icon and small branding changes


  • Added New branding images
  • Added -required- html tag to fields
  • Created function to return field based on id or meta_name
  • Renamed HTML ID for recover-password div, to avoid duplicate IDs


  • When login with email we remove the li for the username field now
  • Small code review changes
  • PHP 7.0 compatibility code review
  • Define filter in wck-api for adding support for custom field types


  • Edit profile double redirects after submitting changes
  • Fix XSS security issues


  • Security update for ajax calls


  • Now we check checkboxes default value to not be empty in the front end forms
  • Display name with email confirmation now is set to First name Last name or Nickname if they exist
  • UI adjustment for checkbox in email confirmation table in the admin area


  • Security update


  • Fixed an issue with the redirect parameter for login widget
  • Added extra_attr filter for recover password forms: 'wppb_recover_password_extra_attr'
  • Added filter in select fields for placeholder labels add-on support
  • Fixed the url from http to https


  • Changed the wppb_curpageurl function to fix the missing www problem from links
  • Added a new filter wppb_send_to_admin_email to Email Confirmation


  • Fixed a security issue regarding shortcodes
  • Fixed a deprecated function warning in the hidden input field
  • Fixed a notice in the WCK API
  • Fixed a compatibility issue with ACF Pro
  • We now make sure we call jQuery dialog only if it exists


  • Fixed issue regarding password update not working in certain cases
  • Changed label for when login with username is selected
  • Fixed small css issue regarding checkboxes labels


  • We now load the plugin translation from the current theme in the folder local_pb_lang if it exists otherwise normally from the plugin dir
  • Fixed notices regarding the 'add_meta_box' hook
  • Added a filter in wordpress-creation-kit API before testing for required fields: 'wck_before_test_required'
  • Added hook before saving fields: 'wppb_before_saving_form_values'


  • Added more fields to be available in wpml string translations: labels, default value and default content
  • Made css modifications so that Checkbox, Radio and Select fields align properly in Twenty Sixteen theme
  • Fixed different notices and warnings that appeared in certain cases


  • When upgrading from an older version than 2.2.6 on a Multisite install Email Confirmation is set to yes automatically now
  • Fixed notice undefined variable from wppb_mail when using filter to not send email
  • Fixed filter wppb_curpageurl not being applied


  • Refactored username exists check to search only in username
  • Fixed issue when there was a meta in the db with no meta key and we couldn't add our fields that had no meta key because it would generate meta name already in use
  • Fixed conflict with WPMUDEV Set Password plugin with which we had a function with the same name


  • Added filter in login form so we can display html at the bottom
  • Fixed a filter in login redirect link that was broken
  • Removed 'Display name publicly as' from Registration Forms.
  • We no longer create custom directories in the WordPress uploads directory.
  • Removed notice from Manage Fields page when the WPML plugin was active.


  • Fixed compatibility with Yoast and Page Builder by SiteOrigin that caused our shortcodes to be executed multiple times


  • Translation Updates
  • Changed User Registered date and time according to timezone selected in WordPress settings


  • Translation Updates


  • Email Confirmation can now be disabled on WordPress multisite


  • Fixed issue that prevented the value 0 to be set as default value
  • Fixed xss vulnerability
  • Fixed issue that was preventing to change back to original email address in edit-profile, after changing to a new one
  • Removed default value option from PB Password and Repeat Password fields
  • Changed name of japanese translation file
  • Fixed updating edit-profile form without email field, when allowing users to login only with email


  • Translation Updates


  • Fixed website field not saving on registering with email confirmation
  • Fixed a potential security vulnerability
  • Removed condition in edit-users dropdown to allow custom ones


  • Fixed notice that was thrown in WordPress 4.3 related to WP_Widget constructor being deprecated in login widget.


  • Changed recover password link from using username to using the user-nicename
  • We no longer strip spaces from usernames on singele-site registration when Email Confirmation is on and we also do not allow usernames with spaces on multisite installs
  • Changed message in Manage Fields sidebar
  • Fixed issue that prevented sometimes 0 values to be saved


  • Add attribute filter to each Profile Builder form input: apply_filters( 'wppb_extra_attribute', '', $field )
  • Added Japanese translation
  • Updated translation files


  • Added filter to wppb_curpageurl() function to easily modify returned URL: apply_filters('wppb_curpageurl', $pageURL)
  • Fixed a issue with default fields not having labels and descriptions localized sometimes
  • Removed link to author page in logged in user shortcode
  • Shortcodes on Basic Info page should no longer be translated
  • Replaced home_url with site_url in login.php
  • Fixed an error when admin was editing another user from the front end sometimes we got 'This email is already reserved to be used soon.'
  • Select a User to edit (as admin) adds HTML special char (&) in URL when should not
  • Added filters that can be used to stop emails being sent to users or admins
  • Redirect registration form after login to same page. Also added a filter on the url


  • Added reCaptcha support for default login, register and lost password forms as well as PB forms + our own login widget
  • Added RTL support for Profile Buider Forms
  • Fixed a problem regarding required fields
  • Added filter on add custom field values on user signup 'wppb_add_to_user_signup_form_meta'
  • Fixed issue where username was sent instead of email when Login with Email was set in the user emails


  • Updated translation files.
  • Bulk approve email in Email Confirmation now functions as expected
  • Now the Addons Page in Profile Builder is compatible with Multisite.
  • Added filter to add extra css classes directly on the fields input: apply_filters( 'wppb_fields_extra_css_class', '', $field )
  • The Show Meta button in the Email Confirmation admin screen no longer throws js errors when site in other language.
  • Fixed bug that was preventing Checkboxes, Selects and Radios to not save correctly if they had special chars in their values


  • Added compatibility with "Captcha" plugin
  • Fixed issue on Add-Ons Page that prevented addons to be activated right after install
  • Fixed issue on multisite where Adminstrator roles were able to edit other users from frontend
  • Added filters to edit other users dropdown:'wppb_display_edit_other_users_dropdown' and 'wppb_edit_profile_user_dropdown_role'


  • Fixed vulnerability regarding activating/deactivationg addons through ajax. We added nonces and permission checks.
  • Added a filter in which we can change the classes on the li element for fields: 'wppb_field_css_class'
  • Fixed automatic login on registration when filtering the random username generated when login with email is active


  • Fixed bug that prevented non-administrator roles to save fields in their profile on the admin area
  • Added Spanish translation
  • Styled the alerts and errors in registration/edit profile, above the forms
  • Added line in footer that asks users to leave a review if they enjoyed the plugin
  • Fixed bug in registration forms that allowed users to create accounts even when they removed the email box from the DOM
  • Fixed bug that was outputting wrong successful user registration message on multisite
  • We now can add fields from Addons that will save on user activation
  • Now WPPB_PLUGIN_DIR is pointing to the correct directory


  • Created Add-On Page in Profile Builder
  • Added support for Twenty Fifteen theme to better target inputs
  • Add support for "redirect_url" parameter to Login shortcode (will do the same thing as "redirect" - for consistency)
  • Added "redirect_url" parameter to Register and Edit-profile shortcodes


  • Added username validation for illegal characters
  • Fixed wp_mail() From headers being set sitewide


  • Added option to Log In with either Username or Email.
  • Added default values for "Logout" shortcode so it displays even if you don't pass any arguments to it.


  • Fixed bug that was causing the username to be sent instead of the email when login with email was set to true in the default registration emails.
  • Fixed bug in Password Reset email when Login with email was on.
  • The "This email is already reserved to be used soon" error wasn't appearing on single site when Email Confirmation was on. Now it does when it is the case.
  • Fixed bug that was causing an upload incompatibility with WordPress media uploader.
  • Fixed bug that was causing Password strength and Password length error messages to not be translatable.
  • Interface changes to forms in admin area on Profile Builder Pages.
  • Added possibility to edit other users from the front end edit form when an admin is logged in.
  • Added a popup in unconfirmed email user listing in admin area where the admin can see the users meta information.
  • Add logout shortcode and menu link to Profile Builder.


  • Fixed problem that when Email Confirmation was active the password in the registration emails was empty. We now have a placeholder for when we can't send the actual password.
  • Added 'wppb_login_form_args' filter to filter wp_login_form() arguments.
  • Added css classes to loged in message links so we can style.
  • Fixed bug that was allowing us to change meta_name on un-editable fields:First Name, Last Name etc.
  • Fixed "Display Name Publicly as” field on front-end.
  • Now User Email Confirmation works on multisite as expected.
  • Fixed bug that was throwing “This email is already reserved to be used soon” ERROR on Edit Profile form on multisite.
  • Fixed bug that caused metaboxes and the Profile Builder page to appeared for roles that shouldn't have.


  • Added icon with tooltip on registration pages 'Users can register themselves or you can manually create users here' message
  • Updated translation files
  • Removed some php notices from the code-base
  • Improved theme compatibility for the submit buttons inside the Profile Builder forms
  • Removed UL dots from Register form in Chrome, Safari


  • Fixed a bug with checkbox field that didn't pass the required if the value of the checkbox contained spaces
  • When email confirmation is enabled we no longer can send the selected password via email because we now store the hased password inside wp-signups table and not a encoded version of it. This was done to improve security
  • Fixed problem that was causing "Insert into post" image button not to work
  • Fixed Fatal error when having both Free and Premium versions activated.
  • Removing the meta name for extra fields is no longer possible
  • Added translation files


  • Added notification to enable user registration via Profile Builder (Anyone can register checkbox).
  • Add register_url and lostpassword_url parameters to login shortcode.
  • Added filter to allow changing Lost Password link in login shortcode.


  • Added $account_name as a parameter in the wppb_register_success_message filter
  • Fixed typo in password strength meeter.


  • Fixed bug that made radio buttons field types not to throw error when they are required
  • Fixed XSS security vulnerability in fallback-page.php
  • Reintroduced the filters:'wppb_generated_random_username', 'wppb_userlisting_extra_meta_email' and 'wppb_userlisting_extra_meta_user_name'
  • Fixed the bug when changing the password in a edit profile form we were logged out


  • Brand new user interface.
  • Drag & drop to reorder User Profile Fields.
  • More flexibility for Managing Default User Fields.
  • Better Security by Enforcing Minimum Password Length and Minimum Password Strength on all forms (front-end and back-end).
  • NOTE: upgrading from Profile Builder 1.1.x to 2.0.2 might make some of your plugin customization (if you have any ) not work because in the restructuring we had to drop some of the filters from 1.1.x.


  • Added stripslashes to register shortcode.


  • Sanitized forms against XSS exploits.


  • Minor changes in the readme and index files.


  • Minor changes in the readme and index files.


  • Changes weren't saving on the Edit Profile page when profile was not fully updated.


  • Minor changes to the readme file.


  • Fixed a few notices in the plugin.


  • Emergency security update regarding the password recovery feature.


Improved some of the queries meant to select users at certain points, hidden input value on front-end (Pro version) and the remember me checkbox on the login page.


Small changes to the index.php file


Fixed some bugs which only appeared in WPMU sites.


Minor changes to the readme.txt file.


Added activation_url and activation_link to the "Email Customizer" feature (pro). Also, once the "Email Confirmation" feature is activated, an option will appear to select the registration page for the "Resend confirmation email" feature, which was also added to the back-end userlisting.


Minor changes in the plugin's readme file and updated the screenshots.


Minor changes in the plugin's readme file.


Minor changes in the plugin's readme file.


Minor changes in the plugin's readme file.


Minor changes in the plugin's readme file.


Improved the userlisting feature in the Pro version.


Fixed "Edit Profile" bug and impred the "Admin Approval" default listing (in the paid versions).


Improved a few existing features (like WPML compatibility), and added a new feature: login with email address.


Improved the "Email Confirmation" feature and a few other functions. Added new options for the "Userlisting" feature (available in the Pro version of Profile Buildeer). Added translations: persian (thanks to Ali Mirzaei,


Improved a few existing functions.


Fixed a few warnings on the register page.


Minor changes to the readme file.


Activation bug fixed.


Added a few improvements and fixed a few bugs.


Email Confirmation bug on WPMU fixed.


Minor changes to the readme file.


Security issue fixed regarding the "Email Confirmation" feature


Added a fix (suggested by regarding the admin bar not displaying properly in some instances.


Minor changes to the readme file.


Minor changes to the readme file.


Added support for WP 3.5


Separated some of the plugin's functions into separate files. Also fixed a few bugs.


Fixed function where it wouldn't create the _signups table in the free version.


Error fixed.


Minor updates to the plugin files.


Minor changes to the plugin.


Minor changes to the readme file.


Changes to the readme file.


Fixed few warnings.


Minor changes


Different security issues fixed with other updates.


Wordpress 3.3 support


Consecutive bugfixes.


Compatibility fix for WP version 3.3


Minor changes to different parts of the plugin. Also updated the english translation.


Minor changes to readme file.


Minor changes to readme file.


Minor changes to readme file.


Minor changes to readme file.


Added the possibility to set the default fields as required (only works in the front end for now), and added a lot of new filters for a better and easier way to personalize the plugin. Also added a recover password feature (shortcode) to be in tune with the rest of the theme. Added translations: *italian (thanks to Gabriele, *updated the english translation


Minor modification in the readme file.


Minor upload bug on WP repository.


Added translations: *czech (thanks to Martin Jurica, *updated the english translation


Added the possibility to set up the default user-role on registration; by adding the role="role_name" argument (e.g. [wppb-register role="editor"]) the role is automaticly set to all new users. Added translations: *norvegian (thanks to Havard Ulvin, *dutch (thanks to Pascal Frencken, *german (thanks to Simon Stich, *spanish (thanks to redywebs,


Minor bugfix.


Added translations to: *hungarian(thanks to Peter VIOLA, *french(thanks to Sebastien CEZARD,

Bugfixes/enhancements: *login page now automaticly refreshes itself after 1 second, a little less annoying than clicking the refresh button manually *fixed bug where translation didn't load like it should *added new user notification: the admin will now know about every new subscriber *fixed issue where adding one or more spaces in the checkbox options list, the user can't save values.


Added a new user-interface (borrowed from the awesome plugin OptionTree created by Derek Herman), and bugfixes.


Bugfix - The wp_update_user attempts to clear and reset cookies if it's updating the password. Because of that we get "headers already sent". Fixed by hooking into the init.


Bugfix - On the edit profile page the website field added a new http:// everytime you updated your profile. Bugfix/ExtraFeature - Add support for shortcodes to be run in a text widget area.


Apparently the svn converts my EOL from Windows to Mac and because of that you get "The plugin does not have a valid header."


You can now actualy install the plugin. All because of a silly line break.


Still no Change.


No Change.


Small changes.


Changes to the ReadMe File


Added the posibility of displaying/hiding default WordPress information-fields, and to modify basic layout.

I navigated away from Profile Builder and now I can�t find it anymore; where is it?

Profile Builder can be found in the default menu of your WordPress installation below the �Users� menu item.

Why do the default WordPress user fields still show up in the back-end?

Profile Builder can only remove the default user fields in the front-end of your site/blog, it doesn't remove them from the back-end.

I can’t find a question similar to my issue; Where can I find support?

For more information please visit and check out the documentation section from Profile Builder - front-end user registration plugin.
Version 2.5.6

Requires WordPress version: 3.1 or higher

Compatible up to: 4.7.2

Last Updated 09 Feb 2017

Date Added: 13 Apr 2011

Plugin Homepage


4.6 stars
311 ratings


Not Enough Data

Works: 0
Broken: 0