Custom Login Page Customizer transforms your default WordPress login page into a branded, professional experience that matches your website. Perfect for agencies, freelancers, and businesses who want to impress clients and users from their very first interaction.
Why Customize Your Login Page?
Your login page is often the first thing clients and team members see. A branded login page:
- Builds trust – Professional appearance increases user confidence
- Reinforces your brand – Consistent branding across every touchpoint
- Impresses clients – White-label your WordPress sites for a polished look
- Takes seconds – No coding required, instant live preview
Key Features
Live Customizer Preview – See every change instantly before saving. No guesswork, no refreshing.
Ready-Made Templates – Choose from 9 professionally designed login page templates including modern gradients, glassmorphism, dark themes, and split-screen layouts.
Complete Logo Control – Upload your custom logo, adjust dimensions, or use text-based branding. Link your logo to any URL.
Background Customization – Add custom background images, solid colors, or gradients to create stunning login pages.
Form Styling – Customize every aspect of your login form including width, padding, borders, border radius, field colors, and button styles.
Button & Link Styling – Match your brand colors with customizable button backgrounds, hover states, shadows, and link colors.
Custom CSS – Advanced users can add custom CSS for pixel-perfect control.
Multi-Column Layouts – Create split-screen login pages with customizable column widths and alignments.
Registration & Password Forms – Customize the registration form and lost password form to match your login page styling.
Perfect For
- Web Agencies – White-label client sites with branded login pages
- Freelancers – Deliver polished, professional WordPress sites
- Membership Sites – Create welcoming login experiences for members
- Corporate Intranets – Reinforce company branding for employee portals
- WooCommerce Stores – Brand your customer account login pages
- Multisite Networks – Customize login pages across your network
How It Works
- Install and activate the plugin
- Go to Appearance → Customize → Custom Login Page Customizer
- Customize your login page with live preview
- Click Publish – done!
Detailed Customization Options
Logo Section
- Custom logo image upload
- Logo width and height control
- Logo URL customization
- Text-only or image-only options
-
Logo text color and hover color
Background Section
-
Custom background image
- Background color picker
-
Form column background options
Form Section
-
Form width and height
- Form background color and image
- Padding and border controls
- Border radius for rounded corners
- Field width, margin, and styling
- Label text customization
-
Field background and text colors
Button Section
-
Background color and hover color
- Border color and hover border color
- Button shadow and text shadow
-
Submit button text customization
Links Section
-
Link color and hover color
- Show/hide navigation links
- Show/hide "Remember Me" checkbox
Documentation & Support
Need help? Visit our
support forum for assistance.
About Colorlib
This plugin is developed by
Colorlib, creators of popular free WordPress themes downloaded by millions. We are committed to building high-quality, user-friendly WordPress plugins.
If you enjoy Custom Login Page Customizer, please leave a
5-star review. Your feedback helps us improve!
2.3.0
- Security: Hardened custom-CSS sanitization. Dangerous directives (@import, javascript:, expression(), behavior:, -moz-binding:, data: URIs) were previously stripped in a single pass, so a nested payload could reassemble itself into a working token. Filtering now repeats until the value stops changing.
- Security: The review-notice AJAX handler now performs a capability check, and its dismissal is stored per user instead of in a shared site-wide option.
- Security: Added direct-access guards to the files that were missing them.
- Security: CSS values are now escaped with a CSS-aware filter at print time instead of esc_attr(), which offered no protection inside a element while corrupting quoted values such as font stacks.
- Security: Login page title is filtered through kses, closing a possible breakout via the unescaped element.
- Fix: The "Hide privacy policy link" option no longer registers its filter on every request, so it can no longer affect the privacy policy link on the front end.
- Fix: Corrected double-escaped login text. Labels that WordPress already escapes (Log In, Register and Get New Password buttons, Remember Me) were escaped a second time, so an ampersand or apostrophe rendered as & or '.
- Fix: The "Back to site text" setting works again. WordPress 5.7 renamed the underlying string from "Back to %s" to "Go to %s"; both are now matched.
- Fix: Uninstall now removes the options and transients the plugin actually creates (including the admin menu location preference), no longer iterates every user on the site, and no longer flushes the entire object cache.
- New: Modern CSS support in colour and dimension fields — hsl(), 4- and 8-digit hex, space-separated rgb(0 0 0 / 50%), var(), color-mix(), calc(), clamp(), min(), max() and the dvh/svh/lvh/ch viewport units.
- Performance: The static base stylesheet is now a real, browser-cacheable file instead of being inlined on every login page view.
- Performance: Settings and the selector map are only loaded on the login page and in the Customizer preview, rather than on every front-end, admin and AJAX request.
- Performance: Removed ~1,250 lines of unused code (the jQuery minicolors library and four superseded Customizer controls) and their orphaned stylesheets.
- Fix: The "requires PHP 8.0" notice can now actually appear. The bootstrap file used PHP 7.1+ return types, and PHP parses a whole file before running it, so on an older PHP the plugin died with a parse error instead of explaining itself.
- i18n: The Customizer preview now reuses WordPress core's own translations for the login form labels it copies from wp-login.php, so the preview matches the real login page in every locale instead of depending on those core strings being re-translated into this plugin.
- Housekeeping: Removed two unused images (three-column.png, four-column.png).
- Fix: The two-column "form above" and "form below" layouts no longer force a horizontal scrollbar. Running the flex container in column direction while it still inherited flex-wrap made it start a second column once the two rows were taller than the viewport, doubling the page width.
- Fix: Removed a JavaScript error ("_customizePartialRefreshExports is not defined") from the Customizer preview. The preview template mirrors wp-login.php and never runs wp_head(), so WordPress never printed the selective-refresh data its own script expects.
- Fix: Restored the "Logo Title", "Login Page Title" and "Form Horizontal Alignment" settings to the defaults list — without an entry there they were silently discarded when importing a settings file.
- Dev: Added a PHPUnit suite covering the sanitization layer and the generated login stylesheet, and replaced Travis CI with GitHub Actions running PHP 8.0 through 8.5.
2.2.1
- Fix: The plugin settings page (with the new export/import, reset and menu-location tools) is now reachable instead of redirecting straight to the Customizer
- Fix: Custom text above the form and the custom footer links/text are no longer hidden behind the background when a custom background image or color is set
2.2.0
- New: "Footer & Links" section — add custom text above the login form and a custom footer below it, add up to 3 custom footer links (Imprint, Privacy, Terms, etc.), and toggles to hide the privacy policy link and the language switcher
- New: Export and import your settings as a JSON file, plus a one-click "Reset to defaults"
- New: Choose where the plugin's admin menu appears — top level, under Settings, or under Appearance
- New: Login button width control
- New: Background blur and brightness controls
- Enhancement: The login form height is now responsive and grows with its content, and supports "auto"
- Fix: CSS dimension values that already include a unit or keyword (such as 100% or auto) are no longer corrupted
2.1.2
- Fix: Custom logo is no longer lost when switching between templates in the Customizer (#172)
- Fix: Large logos now stay centered on desktop instead of shifting off-center when wider than the form (#70)
- Fix: The login page language switcher now appears centered below the form instead of beside it (#173)
2.1.1
- Security: Hardened output escaping across the login page, the admin review notice, and the settings page (esc_url, esc_attr, esc_html, esc_js, wp_kses_post)
- Fix: Corrected legacy logo-settings migration so older installs that used a text logo upgrade to the correct logo display mode
- Enhancement: Plugin styles and scripts are now versioned by the plugin version for reliable cache-busting after updates
- Compatibility: Verified and tested with PHP 8.5
- Compatibility: Tested up to WordPress 7.0
- Code: Brought the codebase to full WordPress Coding Standards (WPCS 3.3) compliance — phpcs reports zero errors and warnings
- Code: Added documentation blocks throughout and switched to timezone-safe date handling in the review notice
- Code: Added PHP 8.4 and 8.5 to the CI test matrix
2.1.0
- New: Added 5 new professionally designed login page templates:
- Gradient Sunset – Modern vibrant purple-pink gradient with rounded form
- Dark Professional – Sleek dark theme for corporate/professional sites
- Glassmorphism – Trendy glass effect with blur and transparency
- Geometric Bold – Two-column layout with bold amber geometric CSS shapes
- Minimal Clean – Ultra-minimal design with maximum whitespace
- Fix: Password field width now matches username field width consistently
- Fix: Password visibility toggle (eye icon) properly centered in input field
- Enhancement: All new templates use CSS-only effects (no additional images required)
- Enhancement: Templates work consistently in both Customizer preview and live login page
2.0.0
- BREAKING CHANGE: Minimum PHP version is now 8.0 (was 5.6)
- BREAKING CHANGE: Minimum WordPress version is now 6.0 (was 4.6)
- Security: Fixed XSS vulnerabilities in login template output
- Security: Added proper escaping for all user-generated content
- Security: Added CSS sanitization to prevent injection attacks
- Security: Added capability checks for customizer preview
- Enhancement: Added strict type declarations throughout codebase
- Enhancement: Modernized PHP code with PHP 8.0+ features
- Enhancement: Added proper uninstall cleanup to remove all plugin data
- Enhancement: Added input validation and sanitization functions
- Enhancement: Updated CI/CD to test PHP 8.0, 8.1, 8.2, 8.3
- Fix: JavaScript typo 'show-image-ony' corrected to 'show-image-only'
- Fix: Removed unused constant COLORLIB_LOGIN_CUSTOMIZER_SITE
- Compatibility: Hide Astra theme style guide overlay on login page to prevent visual conflicts
- Enhancement: Added sanitize_callback to all Customizer settings for proper input validation
- Enhancement: Replaced custom toggle control with standard WordPress checkbox
- Enhancement: Replaced custom color picker with WordPress built-in WP_Customize_Color_Control
- Enhancement: Replaced custom range slider with native HTML5 range input
- Performance: Removed jQuery minicolors dependency (~39KB savings)
- Code: Added Composer for dependency management
- Code: Updated PHPCS ruleset for modern WordPress standards
1.3.4 - 05.06.2025
Fixed: Textdomain fix for wordpress 6.8+ (
#179 )
1.3.3 - 03.02.2025
Fixed: Textdomain fix for wordpress 6.7+ (
#179 )
Fixed: Deprecated: Hook login_headertitle (
#178 )
1.3.2 - 27.03.2024
Fixed: Php 8 deprecations (
#169 )
Fixed: "Remember me" label not aligned properly for users display(
#166 )
Fixed: Form alignment options switched(
#165 )
Fixed: The live preview doesn’t show "Register" link (
#163 )
Fixed: Updated deprecated jquery & updated minicolors js library (
#159 )
Fixed: Added plugin name in "Rate us" notice. (
#149 )
Fixed: Show image only on tempalte no.4 does not display the logo image. (
#135 )
Fixed: Background color that will not apply on half page form templates (
#136 )
Fixed: Vertical scrollable login, reset and register forms (
#131 )
Fixed: Bigger logos on mobile/small tablet devices stretching the login page. (
#43 )
1.3.1 - 08.02.2022
Fixed: Form placement (
https://wordpress.org/support/topic/the-login-area-doesnt-center-fix-not-working/ )
1.3.00 - 10.05.2021
Added : Background image link (
https://github.com/ColorlibHQ/colorlib-login-customizer/issues/115 )
1.2.99 - 08.04.2021
Fixed: An issue where the link color hover pallete would not display properly (
https://github.com/ColorlibHQ/colorlib-login-customizer/issues/139)
Fixed: An issue where the logo would be outside of the login box on a selected template (
https://github.com/ColorlibHQ/colorlib-login-customizer/issues/134)
1.2.98
- Compatibility with jQuery 3.0
1.2.97
- Hide logo settings if hide logo is toggled on
- Add option to use both image logo and text
1.2.96
- Compatibility fix with All In One WP Security plugin
- Customizer toggle bug fix
- Review dismiss fix
1.2.95
- Review request bug fix
- Review save bug fix
1.2.94
1.2.93
- Removed news dashboard widget
1.2.92
- Update for possibility to add links inside certain form texts
1.2.91
- Added possibility to add links inside certain form texts
- Updated deprecated filter login_headertitle
- Added option to change login page title
1.2.9
1.2.8
- Responsive view fixes
- Updated plugin headers
1.2.7
- Added options to edit register form
- Added options to edit lost password form
1.2.6
- Customizer CSS editor full height
- Apply login form settings to registration form
- Removed duplicate control for logo text
1.2.5
- Remove uninstall feedback
1.2.4
1.2.3
- Fixed
Logo Url setting
- Added
Logo Title setting
1.2.2
- Added the possibility to change the
Remember Me and Log In texts
1.2.1
- Minor tweaks & version bump
1.2.0
1.1
- Changed templates functionality
- Added new layout options
- Fixed live preview editing
- Fixed minor bugs
1.0