Skip to content

Repository files navigation

OpenOTP

A cross-platform, open-source one-time password (OTP) authenticator app supporting TOTP and HOTP standards.

Platforms Platforms Platforms

Build Latest Release Google Play

License: MIT GitHub Repo stars Fork OpenOTP

presentation

Features

  • TOTP & HOTP support — Generate time-based and counter-based one-time passwords
  • QR code scanning — Add accounts by scanning QR codes using the device camera (mobile) or webcam (desktop)
  • Cloud backup & restore — Backup and restore your OTP secrets to Dropbox or OneDrive
  • Biometric authentication — Secure your OTP secrets with fingerprint/face recognition (Android)
  • Cloud account linking — Link cloud storage accounts for seamless backup management
  • Dark & light themes — Automatic theme switching with system preference detection
  • Search & filter — Quickly find accounts with real-time search
  • Drag & drop reordering — Reorganize your accounts with drag and drop
  • Multi-platform — Single codebase running on Android, iOS, Windows, macOS, Linux, and the web

Platforms

Platform Status Details
🤖 Android ✅ Available Google Play / GitHub Releases
🍎 iOS ✅ Available GitHub Releases (IPA)
🖥️ Windows ✅ Available GitHub Releases (MSI installer)
🍏 macOS ✅ Available GitHub Releases (DMG)
🐧 Linux ✅ Available GitHub Releases (DEB package)
🌐 Web ✅ Available open-otp.procyk.in (Kotlin/WASM)

Download and run application

Web

Try the web version directly in your browser: open-otp.procyk.in

Mobile

Google Play

Latest Android version is available on Google Play.

Get it on Google Play

GitHub Releases

You can download compiled versions of the application from GitHub Releases.

Available formats:

  • Android: APK (debug/release), AAB (bundle)
  • Windows: MSI installer
  • macOS: DMG image
  • Linux: DEB package

Please note that for running unsigned version of macOS application, you need to temporarily disable Gatekeeper. After installing the application, run:

sudo xattr -dr com.apple.quarantine /Applications/OpenOTP.app

You can learn more about this here.

To install the Linux version, run:

sudo dpkg -i openotp.deb

Build application locally

The project is configured with Gradle, and you can find the latest release build commands in the release.yml file.

Example build commands for particular platforms:

  • Desktop: ./gradlew desktopApp:packageDistributionForCurrentOS
  • Android: ./gradlew androidApp:assembleDebug
  • iOS: Open iosApp/iosApp.xcodeproj in Xcode and run the build (you may need to configure the Team in Signing & Capabilities)
  • Web: ./gradlew webApp:wasmJsBrowserDistribution

Tech Stack

Core

Architecture & Concurrency

Data & Crypto

Platform-Specific

Compose Extensions

Build & CI/CD

Privacy

OpenOTP is designed with privacy in mind. Your OTP secrets are stored locally on your device and are never transmitted to any server, except when you explicitly choose to back them up to your own cloud storage account. See PRIVACY_POLICY.md for details.

License

This project is licensed under the MIT License — see the LICENSE.md file for details.

About

Kotlin Multiplatform implementation of One Time Passwords Manager that compiles to native code on all platforms from single codebase

Topics

Resources

Stars

95 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages