Modern Authentication.
On Your Terms.

Hanko logo red
Open Source. Privacy-First. Built to Scale.
Hanko takes care of your app's user onboarding and authentication, with full control over your data. Move between self-hosted and Hanko Cloud anytime.
No vendor lock-in, just Auth how it should be:
Secure, user friendly, and fully yours.
Try Hanko for free
*No credit card required
Talk to us
Logo informer
volt.io logo
logo Learn-anything.xyz
UInbox logo
101.school logo
Openom.ai logo
Mementor logo
sympany logo
insta drive logo
Step lock logo
Delta Dao Logo
Allguth Logo
Digi logo
Krisenchat Logo
Adesso logo
logo eqx
logo airtime
logo meetmo.io
Logo lina
ZKorum logo
papermark logo

Enter passcode

Enter the passcode sent to your email address.
1
6
3
4
8
0
Continue
<div>
  <h1>Enter passcode</h1>
  <input type="text" placeholder="passcode" name="passcode" />
  <button onSubmit={() => flowstate.actions.verify_passcode.run({ code: passcode })}>Continue</button>
</div>

Select login method

How do you want to login?
Password icon
Password
Passcode
Passkey
Back
<div>
  <h1>Select login method</h1>
  <ul>
    <li><button onSubmit={flowstate.actions.continue_to_password_login}>Password</button></li>
    <li><button onSubmit={flowstate.actions.continue_to_passcode_confirmation}>Passcode</button></li>
    <li><button onSubmit={flowstate.actions.webauthn_generate_request_options}>Passkey</button></li>
    <li><button onSubmit={flowstate.actions.back}>Back</button></li>
  </ul>
</div>

Set up MFA

Protect your account with Multi-Factor Authentication (MFA). MFA adds an additional step to your login process, ensuring that even if your password or email account is comprmised, your account stays secure.
Security Key Icon
Security keys
Mobiel icon
Authenticator app
Skip
<div>
  <h1>Set up MFA</h1>
  <ul>
    <li><button onSubmit={flowstate.actions.continue_to_security_key_creation}>Security Keys</button></li>
    <li><button onSubmit={flowstate.actions.continue_to_otp_secret_creation}>Authenticator app</button></li>
    <li><button onSubmit={flowstate.actions.skip}>Skip</button></li>
  </ul>
</div>

Create account

Enter your email
Continue
or
Google logo
Continue with Google
<div>
  <h1>Create account</h1>
  <div>
    <input type="text" placeholder="Enter your email" name="email" type="email" />
    <button onSubmit={() => flowstate.actions.register_login_identifier.run({
      email: email,
    })}>Continue</button>
  </div>
  <div>
    <button onSubmit={() => flowstate.actions.thirdparty_oauth({
      provider: "google",
      redirect_to: window.location.toString(),
    })}>Continue with Google</button>
  </div>
</div>

Sign in

Sign in with a Passkey
<div>
  <h1>Sign in</h1>
  <button onSubmit={() => flowstate.actions.webauthn_generate_request_options}>Continue</button>
</div>

Sign in

Enter your email
Continue
or
Google logo
Continue with Google
Sign in with a Passkey
<div>
  <div>
    <h1>Sign in</h1>
    <input type="text" placeholder="Enter your email" name="email" type="email" />
    <button onSubmit={() => flowState.actions.continue_with_login_identifier.run({
      email: email,
    })}>Continue</button>
  </div>
  <div>
    <button onSubmit={() => flowstate.actions.thirdparty_oauth.run({
      provider: "google",
      redirect_to: window.location.toString(),
    })}>Continue with Google</button>
    <button onSubmit={flowstate.actions.webauthn_generate_request_options}>Sign in with a Passkey</button>
  </div>
</div>

Set up authenticator app

Scan the QR code using your authenticator app (such as Google Authenticator or any other TOTP app). Alternatively, you can manuelly enter the OTP secret key into the app.
Enter the one-time password (OTP) obtained from your authenticator app below:
2
1
2
0
3
8
Continue
Back
<div>
  <h1>Set up authenticator app</h1>
  <img src={flowstate.payload.otp_image_source} alt="OTP Image" />
  <input type="text" placeholder="Enter OTP" name="code" />
  <button onSubmit={() => flowstate.actions.otp_code_verify.run({
    otp_code: code,
  })}>Continue</button>
</div>
Social Logins
Multi-Factor Authentication
Passkeys
SSO

Build the login flows you need,
let Hanko handle the complexity

By offering a wide range of authentication methods and countless combinations of configuration options, Hanko allows you to tailor your onboarding and login flows precisely to your requirements, with a flip of a switch.

Built in Europe.
Built for control.

Hanko is developed by a Germany-based team and can be used with EU hosting or self-hosted infrastructure. For teams in Europe, this means more control over user data, authentication infrastructure, and long-term vendor dependency.


For teams outside Europe, it simply means open source authentication with strong privacy and security defaults.

Eu stars
Flexible hosting options
Icon cloud

Cloud

You use Hanko and we take care of everything else. Highly available and scaling with your growth. Up to 99.99 % SLA.
Icon cloud with lock

Private cloud

We manage your private Hanko environment with a cloud provider of your choice. The all-round carefree package for increased demands.
Icon home

Self-hosted

Operate your Hanko environment on your own servers, with our support if you wish.
GDPR compliant
Multi-language support
EU hosting options
Plus icon

Use Hanko Elements for fast integration or build your own UI for full control

Hanko Elements are customizable Web Components that provide comprehensive UI for user onboarding, login, and account management, and are compatible with every web app. Hanko's Flow API guides you when building your own authentication frontend if you want full control.

Framework-agnostik

Hanko Elements Web Components are compatible with every web stack and do not require anything else than HTML and Javascript.

Forget Frontend State Handling

Hanko's Flow API gracefully handles your authentication flows, from simple usernames and passwords to multi-step email verification and MFA enrollments. Hanko Flow API always tells your frontend what to do so you don't have to

Profile Element

More than just a login box. With Hanko Profile Element, you give your users full control over their accounts. A complete drop-in UI for password resets, MFA, passkeys, session management, and more.
Solid logo
nuxt logo
remix logo

Integrates in minutes,
with any web application.

A beautiful login for your application, no matter which framework or platform you use.

Quickstart guides

Learn how to use Hanko with your favorite framework.

Starter templates

Building a new app from scratch? Cross "Auth" off your list by using a Hanko starter template.

Alex MacCaw
@maccaw
x logo
Passkeys is a new authentication technology which is poised to remove the need for passwords. Check out passkeys.io and @hanko_io for more info!
Photo of Martin Stevens
Martin Steven
SVP Product, Volt.io
"Hanko allowed us to roll out passkey-based 2FA in a matter of days."
Nicolas Gimenez
Nicolas Gimenez
Co-Founder & CTO @zkorumhq
"The Hanko Elements workflow on the web is excellent and incredibly easy to integrate with. I've used Auth0 & Firebase Authentication in the past, both of them are way more complicated to integrate & understand."
Peer Richelsen
@peer_rich
x logo
Super cool. Hanko: Open source alternative to Auth0 and Clerk with passkey superpowers.
James Xu
Co-Founder & CTO, kangaroo
“Great product – I’m loving it.”
Photo of Marc Seitz
Marc Seitz
Founder & CEO, Papermark
“Thanks to Hanko and their Next-Auth provider, adding passkeys to your application has never been easier.”
Stefan Weiß
Co-Founder & CTO, Cure Digital Finance GmbH
“Hanko's simple yet future-proof authentication solution quickly convinced us when building our vertical bank. Customer-centric and frictionless, but at the same time fulfilling our advanced PSD2 requirements.”
Pedro Sanders
@pedrosanders_
x logo
This weekend I plan to try Passkeys by @hanko.io. I'm excited to get a hint at a passwordless future.
The best thing about this tool? It is Open Source 🙇
Thilo Brandt
Senior Director, Head of Universal Capabilities, SAP
“The development effort for introducing passkeys was significantly reduced through the use of Hanko.”
Adrian van Putten
@ProgrammerDude
x logo
I really ejoyed integrating hanko.io
tim cappaskey
@timcappalli
x logo
Check out @hanko.io! An open-source, developer focused, passkey centric authentication stack! Love to see it.
Image of Daniel Rotzetter
Daniel Rotzetter
Co-Founder & Engineering Lead, Mementor
“We have been using Hanko as provider for passwordless login for over two years now. From the onboarding to this day, Hanko was always a very helpful and reliable partner with an impeccable support team.”
Darren Crossley
Head of Software Development, Agrantis
“I wanted to say how amazing the Hanko system is. The experience for developers and users is so far ahead of anything else I found in the identity / authentication space.”

Start building your Auth today

Try Hanko for free
Hanko products