Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Two-Factor Authentication Client for iOS.

Build Status Codecov Latest Release MIT License

Authenticator is a simple, free, and open source two-factor authentication app. It helps keep your online accounts secure by generating unique one-time passwords, which you use in combination with your other passwords to log into supporting websites. The simple combination of the password in your head and the rotating passwords generated by the app make it much harder for anyone but you to access your accounts.

  • Easy: Simple setup via QR code, "otpauth://" URL, or manual entry
  • Secure: All data is stored in encrypted form on the iOS keychain
  • Compatible: Full support for time-based and counter-based one-time passwords as standardized in RFC 4226 and 6238
  • Off the Grid: The app never connects to the internet, and your secret keys never leave your device.

Screenshot of the Authenticator token list   Screenshot of the Authenticator QR Code scanner   Screenshot of the Authenticator token entry form

Getting Started

  1. Check out the latest version of the project:
git clone
  1. In the Authenticator directory, check out the project's dependencies:
cd Authenticator
git submodule update --init --recursive
  1. Open the Authenticator.xcworkspace file.

If you open the .xcodeproj instead, the project will not be able to find its dependencies.

  1. Build and run the "Authenticator" scheme.

Managing Dependencies

Authenticator uses Carthage to manage its dependencies, but it does not currently use Carthage to build those dependencies. The dependency projects are checked out as submodules, are included in Authenticator.xcworkspace, and are built by Xcode as target dependencies of the Authenticator app.

To check out the dependencies, simply follow the "Getting Started" instructions above.

To update the dependencies, modify the Cartfile and run:

carthage update --no-build --use-submodules


This project is made available under the terms of the MIT License.

The modern Authenticator grew out of the abandoned source for Google Authenticator for iOS. The original Google code on which this project was based is licensed under the Apache License, Version 2.0.