Skip to content

amirkabiri/google-authenticator-exporter

Repository files navigation

Google Authenticator Exporter

Google Authenticator Exporter

A powerful, user-friendly web application that allows you to scan, decode, and export Google Authenticator QR codes. This tool is perfect for migrating your 2FA tokens between devices or creating backups of your authentication secrets.

✨ Features

  • πŸ“± Scan QR Codes: Directly scan QR codes using your device's camera
  • πŸ”„ Migration Support: Process Google Authenticator migration QR codes containing multiple accounts
  • πŸ“Š TOTP/HOTP Support: Compatible with both Time-based (TOTP) and Counter-based (HOTP) one-time passwords
  • πŸ“² Mobile Optimized: Responsive design works great on both desktop and mobile devices
  • πŸ” Secure: All processing happens locally in your browser - no data is sent to any server
  • πŸ“€ Export Options: Export as JSON or generate new QR codes for individual accounts
  • πŸ“‹ Easy Copying: One-tap copying of OTP codes and secrets

πŸ“Έ Screenshots

Main Interface

Main interface showing a scanned authentication token

Account Selection

Multiple account selection from migration QR code

πŸš€ Try It Out

You can use the Google Authenticator Exporter online at: https://amirkabiri.github.io/google-authenticator-exporter/

πŸ› οΈ Technical Details

The Google Authenticator Exporter utilizes several technologies to provide a seamless experience:

  • Framework: Built with React and TypeScript for reliable, type-safe code
  • OTP Implementation: Uses the otpauth library for TOTP/HOTP generation
  • QR Scanning: Implemented with the HTML5-QRCode library
  • Protobuf Parsing: Decodes Google Authenticator's migration format using protobufjs

πŸ“‹ How to Use

  1. Visit the app in your browser
  2. Allow camera access when prompted
  3. Scan a Google Authenticator QR code:
    • Single account QR code
    • Migration QR code (multiple accounts)
    • Any standard otpauth:// QR code
  4. View your authentication details
  5. For TOTP accounts, watch the code refresh with the countdown timer
  6. Copy the code, secret, or export to your preferred format

πŸ”’ Privacy & Security

Your security is our priority:

  • All code runs entirely in your browser
  • No data is ever sent to any server
  • No analytics or tracking
  • No cookies used
  • Open source, so you can verify the security yourself

πŸ’» Development

Prerequisites

  • Node.js 16+ or Bun
  • npm, yarn, or bun

Installation

# Clone the repository
git clone https://github.com/amirkabiri/google-authenticator-exporter.git
cd google-authenticator-exporter

# Install dependencies
npm install
# or
yarn install
# or
bun install

# Start development server
npm run dev
# or
yarn dev
# or
bun dev

Building for Production

npm run build
# or
yarn build
# or
bun build

πŸ“„ License

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

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ™ Acknowledgements

  • Google Authenticator for the inspiration
  • All the open-source libraries that made this project possible
  • Everyone who has contributed to the project

About

Securely scan and export Google Authenticator QR codes, including migration QRs with multiple accounts.

Topics

Resources

Stars

Watchers

Forks