MS Authenticator App

How to enable 2FA on PythonAnywhere

Enable two-factor authentication on PythonAnywhere to stop unauthorized logins. After setup, PythonAnywhere asks for a rotating code from MS Authenticator App in addition to your password.

Step-by-step setup

  1. 1

    Sign in to PythonAnywhere and open your PythonAnywhere account security settings.

  2. 2

    Turn on two-factor authentication and choose the authenticator-app option.

    Look for "Authenticator app", "Authentication app", or "TOTP" rather than SMS.

  3. 3

    Scan the QR code with MS Authenticator App.

    Open MS Authenticator App, tap add, and point your camera at the QR code PythonAnywhere displays. Can't scan? Enter the setup key manually instead.

  4. 4

    Enter the 6-digit code to confirm.

    Type the code MS Authenticator App generates to verify and link your PythonAnywhere account.

  5. 5

    Save your backup codes.

    Store the recovery codes PythonAnywhere gives you somewhere safe — you'll need them if you lose your phone.

Menu names on PythonAnywhere can change — the official PythonAnywhere 2FA documentation ↗ always has the exact, current path.

Frequently asked questions

Does PythonAnywhere work with authenticator apps like MS Authenticator App?
Yes. PythonAnywhere supports TOTP authenticator apps, so you can generate its two-factor codes in MS Authenticator App.
Is PythonAnywhere two-factor authentication free?
Yes. Enabling authenticator-app 2FA on PythonAnywhere is free — you only need the free MS Authenticator App.
What if I lose access to my PythonAnywhere 2FA codes?
Use the backup or recovery codes you saved during setup. If you didn't save them, contact PythonAnywhere support to regain access, then re-add the account to MS Authenticator App.

Generate your PythonAnywhere codes in MS Authenticator App

Free, offline, and encrypted. One tap for every 6-digit code.

Get the app

More Developer guides

Novaz is not affiliated with, endorsed by, or sponsored by PythonAnywhere. PythonAnywhere and its logo are trademarks of their respective owner and are used here for identification only.