Skip to content

guntherb7/PerfectParallel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PerfectParallel - Chrome Extension

A powerful Chrome extension for comparing uploaded screenshots to live websites with difference highlighting and similarity scoring.

Compare design mockups, QA test cases, or any screenshot against a live website and instantly see pixel-level differences with a similarity score. Perfect for visual regression testing, design reviews, and QA workflows.

Features

  • 📸 Screenshot Upload: Upload any screenshot for comparison
  • 🔍 Live Comparison: Compare against the current website in real-time
  • 🎯 Difference Highlighting: Visual highlighting of differences in red
  • 📊 Similarity Scoring: Precise percentage-based similarity scoring
  • ⚙️ Adjustable Sensitivity: Fine-tune comparison sensitivity (1-10 scale)
  • 🎨 Clean UI: Modern, intuitive interface with visual feedback

Quick Start

  1. Clone this repository: git clone https://github.com/guntherb7/PerfectParallel.git
  2. Open Chrome and navigate to chrome://extensions/
  3. Enable "Developer mode" in the top-right corner
  4. Click "Load unpacked"
  5. Select the cloned PerfectParallel folder
  6. The extension icon will appear in your Chrome toolbar

Installation

For Users (Manual Installation)

Since PerfectParallel isn't yet on the Chrome Web Store, follow the Quick Start steps above to load it as an unpacked extension.

For Developers

  1. Fork and clone the repository
  2. Make your changes to the source files
  3. Test locally by reloading the extension in chrome://extensions/
  4. Submit a pull request with your improvements

Usage

  1. Open the Extension: Click the PerfectParallel icon in your Chrome toolbar
  2. Upload Screenshot: Click "📁 Upload Screenshot" and select your reference image
  3. Navigate to Target Page: Go to the website you want to compare against
  4. Start Comparison: Click the "Compare" button
  5. View Results:
    • The overlay will show three panels: your uploaded screenshot, current page, and highlighted differences
    • Similarity score is displayed as a percentage
    • Different pixels are highlighted in red

How It Works

Image Comparison Algorithm

PerfectParallel uses an optimized pixel-by-pixel comparison algorithm:

  1. Capture: Takes a screenshot of the current webpage using Chrome's native capture API
  2. Normalize: Both images are scaled to matching dimensions while maintaining aspect ratios
  3. Sample: Uses intelligent sampling to balance accuracy with performance (scales down large images)
  4. Compare: Compares each pixel using RGB color difference calculations
  5. Threshold: Applies a sensitivity-based threshold to determine significant differences
  6. Visualize: Highlights differences in red and displays a similarity percentage
  7. Group: Nearby differences are automatically grouped into regions to reduce visual clutter

Sensitivity Settings

  • 1-3: Very sensitive (detects minor differences)
  • 4-6: Moderate sensitivity (balanced detection)
  • 7-10: Less sensitive (only major differences)

Browser Compatibility

Browser Support Notes
Chrome 88+ Fully supported
Edge 88+ Should work (Chromium-based)
Brave Latest Should work (Chromium-based)
Safari Extension format not supported
Firefox Requires WebExtensions rewrite

Note: Manifest V3 support is required. Chrome versions before 88 use Manifest V2.

Limitations & Known Issues

Current Limitations

  • Viewport-based: Captures only the visible viewport, not the full page height (SVG rendering has limited support)
  • Static content only: Works best with static content; dynamic or animated elements may cause comparison issues
  • Same origin policy: May not compare against pages with strict Content Security Policy
  • Large images: Very large images (>2000px) are automatically downsampled for performance
  • Limited styling: Embedded stylesheets and scripts may not render correctly in the SVG fallback

Troubleshooting

Extension icon doesn't appear:

  • Ensure you're in Chrome (not Edge or other browsers, though they may work)
  • Verify the folder path contains all required files (manifest.json, popup.html, etc.)
  • Try reloading the extension via the refresh icon on chrome://extensions/

Comparison fails to start:

  • Upload an image first (the Compare button is disabled until you do)
  • Ensure the webpage has fully loaded
  • Check if the site blocks screenshots (some banking/security sites do)
  • Verify the page is accessible (not behind a login or paywall)

Comparison results are inaccurate:

  • Try adjusting the sensitivity slider (1-3 for detailed differences, 7-10 for major changes only)
  • Ensure both images show the same content area
  • Check that your screenshot's viewport size matches the current page zoom level
  • Refresh the page and try again

Performance is slow:

  • Close other browser tabs to free up memory
  • Disable other extensions temporarily
  • Try comparing with smaller, simpler images first

Privacy & Security

  • No Data Collection: The extension does not collect or transmit any user data
  • Local Processing: All image comparisons happen locally in your browser
  • No External Requests: No images are sent to external servers
  • Temporary Storage: Screenshots are only stored temporarily during comparison

Development

Project Structure

  • manifest.json - Extension configuration and permissions
  • popup.js/html - UI for uploading images and controls
  • content.js - Core comparison logic and image processing
  • content.css - Styling for highlights and overlay
  • background.js - Service worker for tab capture
  • .gitignore - Git configuration for clean commits

Contributing

Contributions are welcome! Please follow these guidelines:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Make your changes and test thoroughly
  4. Commit with clear messages: git commit -am 'Add: feature description'
  5. Push to your fork: git push origin feature/your-feature
  6. Submit a Pull Request with a description of your changes

Areas for Improvement

  • Full-page screenshot capture (without SVG rendering issues)
  • Support for comparing multiple screenshots
  • Export comparison results as reports
  • History of comparisons
  • Better support for responsive designs
  • Performance optimizations for very large images
  • Chrome Web Store release

License

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

Copyright © 2025 Guntherb7

Changelog

Version 1.0.0 (Current)

  • ✨ Initial release
  • 🖼️ Screenshot upload and comparison
  • 🎨 Real-time difference highlighting
  • 📊 Similarity percentage scoring
  • ⚙️ Adjustable sensitivity (1-10)
  • 🎯 Difference region grouping for cleaner visualization
  • 📦 Optimized performance with intelligent sampling

Support

If you encounter any issues or have feature requests:

  1. Check the Troubleshooting section
  2. Search existing GitHub Issues
  3. Create a new issue with:
    • Description of the problem
    • Steps to reproduce
    • Expected vs. actual behavior
    • Browser version and OS

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors