Visual theming for Keycloak

Design Keycloak login pages like they belong to your app.

Turn Keycloak's dated default screens into a modern sign-in experience — every login page and every email — without writing a single line of code. Export a deploy-ready .jar when you're done.

Free to design — every page, every control. Pay only when you export.

The editor: a configuration sidebar beside a live preview of a themed Keycloak login page
Built on
Today

PatternFly, or hand-written FreeMarker

Keycloak's stock pages ship with PatternFly's look. Matching them to your product means editing .ftl templates and layering CSS on markup you don't control.

The catch

It's 38 pages, not one

The login form is the easy part. Password reset, OTP, recovery codes, passkeys, IdP linking, consent, logout, every error screen — each needs the same treatment, and they all drift apart over time.

Instead

Pick your tokens, take the theme

Choose a palette, a typeface, a radius and a layout. Every page updates together, stays consistent, and leaves as a JAR your ops team can drop into Keycloak.

Recovery codes beside a photographic side panel
A sign-in page with social providers
The same sign-in page in light mode
A sign-in page set entirely in a monospace face
Choosing between an authenticator app and a passkey
A sign-in page on a single centred card
A one-time code prompt with the image inside the card
A destructive confirmation, styled with the rest
Before & after

The same login page, minutes apart

Drag the divider between what Keycloak serves out of the box and the same page after a few minutes in the editor — no FreeMarker, no CSS.

The same login page themed with the editor
Stock Keycloak
Themed in the editor

Drag to compare

What you get

From editor to deployed theme

Design it visually, check it against the real pages, and leave with an artifact your ops team can deploy.

Live preview

See the real page, not an approximation

The editor renders the actual theme in an isolated frame — the same code Keycloak will serve. Change a token and every page updates instantly, across all three layouts.

The editor with its configuration sidebar beside a live login page preview
Internationalisation

40 languages, already translated

Every string on every page ships translated, right-to-left included. Preview any locale without leaving the editor.

arazcacsdadeeleneseufafifrhrhuhyiditjakakkkyltlvnlnoplptpt-BRroruskslsvthtrukvizh-CNzh-TW
Email templates

The emails match the login page

Verification, password reset and the rest are themed from the same palette, so a user who leaves for their inbox comes back to something that still looks like you.

A themed email sent by Keycloak, styled from the same palette as the login pages
Export

Leaves as a deploy-ready .jar

Export bundles your login and email themes into a Keycloak provider JAR. Drop it in providers/, restart, pick the theme. Nothing to build, nothing to wire up.

$ cp my-theme.jar keycloak/providers/
$ ./kc.sh start-dev
✓ theme available in the admin console
38Login pagesEvery sign-in and account screen
40LanguagesTranslated, RTL included
18Color presetsOver 7 base palettes
9TypefacesAcross 3 layouts
FAQ

Questions, answered

Still have questions?

Ask on Discord
Start designing

Your login page is the first thing users see.

Start from a theme that already handles every page, then make it yours in a few clicks. Designing is free — you only pay to export.