A image viewer built with PyQt6. Designed for photographers, designers, and anyone who needs to quickly browse and compare images.
- Single folder: Browse all images in a folder with thumbnail navigation

- Multiple folders: Side-by-side comparison of images from different folders

- Multiple images: Compare any selection of images
- Selection zoom: Draw a box to magnify any region
- Embedded preview: Zoomed preview appears directly on the image corner
- Configurable position: Bottom-right, bottom-left, top-right, or top-left
- Adjustable magnification: 1.5x to 5x zoom levels
- Custom colors: Choose from 8 selection box colors

- When comparing images, selections sync across all panels
- Each image zooms its own corresponding region
- Perfect for comparing details across similar images
- Quick access to recently opened folders and images
- Resizable sidebar with drag handle
- Automatic cleanup of invalid paths
- ←/→: Navigate to previous/next image
- ESC: Return to home screen
| Single View | Compare View |
|---|---|
| Browse images with thumbnail strip | Side-by-side comparison with synced zoom |
- Python 3.8 or higher
- pip package manager
pip install -r requirements.txtpython main.pyImageViewer/
├── main.py # Application entry point
├── main_window.py # Main window with drag-drop and history
├── constants.py # Application constants and configuration
├── styles.py # UI stylesheet definitions
├── utils.py # Utility functions for file operations
├── history.py # History management for recent files
├── requirements.txt # Python dependencies
└── widgets/
├── __init__.py # Widget package exports
├── image_label.py # Zoomable image label with embedded preview
├── single_view.py # Single folder browser widget
└── compare_widget.py # Multi-image comparison widget
- Drag a folder onto the application window
- Use thumbnails or arrow keys to navigate
- Draw a selection box to zoom in on details
- Drag multiple folders or images onto the window
- Images are displayed side by side
- Enable "Sync Selection" to compare the same region across all images
- Adjust zoom position and color as needed
- Click any item in the history sidebar to reopen
- Drag the sidebar edge to resize
- Click "Clear" to remove all history
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with PyQt6
- Inspired by image viewers like Pixea and XnView