An extension must have a single purpose that is narrow and easy to understand
LINKTOQR’s Purpose: Convert any URL or text into a scannable QR code with a single click, enabling seamless sharing and quick access to web content.
LINKTOQR is a powerful Chrome extension that enables users to generate, customize, and share QR codes instantly. The extension offers both free and premium features for QR code generation and management.
Version: 1.0.0
License: MIT
Author: srwaditya
linktoqr-extension/
├── manifest.json # Extension configuration
├── package.json # Project metadata
├── src/
│ ├── css/
│ │ └── styles.css # UI styling
│ ├── html/
│ │ ├── popup.html # Main popup interface
│ │ └── shared-card.html # Shared card component
│ ├── images/ # Extension icons
│ │ ├── icon-16.png
│ │ ├── icon-48.png
│ │ └── icon-128.png
│ └── js/
│ ├── background.js # Service worker
│ ├── popup.js # Popup logic
│ ├── premium.js # Premium features
│ ├── storage.js # Data persistence
│ ├── ui.js # UI utilities
│ └── lib/
│ └── qrcode.min.js # QR code generation library
Purpose: Access the currently active tab to generate QR codes
Justification: Required to read the URL of the current webpage and generate a QR code representing that URL. This permission only applies to the tab the user explicitly clicks on.
Purpose: Execute scripts in web pages
Justification: Allows the extension to inject QR code generation functionality into web pages and interact with page content when needed for enhanced QR code features.
Purpose: Store user data persistently
Justification: Enables the extension to save user preferences, QR code history, premium account status, and other user-specific settings across browser sessions.
Purpose: Copy generated QR codes to clipboard
Justification: Allows users to quickly copy generated QR codes to their clipboard for easy pasting into other applications or documents.
Purpose: Download generated QR codes
Justification: Enables users to download generated QR codes as image files to their computer for sharing, printing, or archival purposes.
<all_urls>)Purpose: Access all websites
Justification: Allows the extension to generate QR codes from any URL the user visits. This broad permission enables the extension to function seamlessly across all web pages without requiring site-specific permissions, providing a better user experience while respecting user privacy through the activeTab permission requirement.
manifest.json)<all_urls>)package.json)src/js/popup.jsbackground.jsService worker that runs in the background to:
popup.jsMain popup interface controller that:
premium.jsPremium feature management including:
storage.jsData persistence layer for:
ui.jsUI utilities for:
qrcode.min.js (Library)Minified QR code generation library that:
popup.htmlMain extension popup interface containing:
shared-card.htmlShared card component for:
styles.css)CSS styling for:
chrome://extensions/linktoqr-extension foldernpm run dev
Then load the unpacked extension in Chrome DevTools.
npm run build
npm test
qrcode.min.js librarysrc/ directorystorage.sync APIFor issues, feature requests, or contributions, please contact the development team or create an issue in the repository.
Last Updated: February 2026