A modern desktop application for creating stunning mosaic videos. Combine multiple video files into beautiful 2x2 or 3x3 grid layouts with real-time progress tracking.
| 2x2 Grid | 3x3 Grid |
- Multiple Grid Layouts: Create 2x2 or 3x3 video mosaics
- Flexible Input: Works with 1-9 videos (missing slots filled with black)
- Drag & Drop Support: Easy file selection with drag and drop interface
- Real-time Progress: Live conversion progress with percentage display
- Cross-platform: Available for macOS, Windows, and Linux
- Modern UI: Clean, intuitive interface with visual feedback
- High Quality Output: Maintains video quality in mosaic format
Download the latest release for your platform from the Releases page:
- macOS (Apple Silicon):
tessel-macos-arm64.tar.gz - Linux (64-bit):
tessel-linux-x64.tar.gz - Windows (64-bit):
tessel-windows-x64.zip
To install safely:
- Extract the downloaded archive
- Right-click on
Tessel.appand select "Open" (don't double-click) - Click "Open" when prompted about the unidentified developer
Alternative method:
# Remove quarantine attribute
xattr -dr com.apple.quarantine /path/to/Tessel.app- Extract the downloaded archive
- Run the Tessel executable
- Select Grid Layout: Choose between 2x2 or 3x3 grid using the toggle buttons
- Add Videos:
- Drag and drop video files onto the grid squares
- Or click on squares to browse and select files
- Supports MP4 and other common video formats
- Arrange Layout: Videos will be positioned in the order you add them
- Convert: Click the "Convert" button and choose where to save your mosaic video
- Monitor Progress: Watch real-time conversion progress with percentage display
- MP4 (recommended)
- MOV
- AVI
- And other formats supported by FFmpeg
- Built with: Electron 37.1.0
- Video Processing: FFmpeg with fluent-ffmpeg
- Architecture: Modern Electron with context isolation and security best practices
- Output Format: MP4 with H.264 encoding at 25fps
- Resolution: 1280x720 output resolution
- Node.js 18 or later
- npm
# Clone the repository
git clone https://github.com/jamesso/tessel.git
cd tessel
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm start# Build for macOS (ARM64)
npm run package-mac
# Build for Windows (x64)
npm run package-win
# Build for Linux (x64)
npm run package-linuxtessel/
├── app/ # Frontend application
│ ├── index.html # Main UI
│ ├── about.html # About page
│ ├── css/ # Stylesheets
│ └── js/ # Frontend JavaScript
├── assets/ # Application icons
├── main.js # Electron main process
├── preload.js # Preload script for security
└── package.json # Dependencies and scripts
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Electron
- Video processing powered by FFmpeg
- UI components styled with modern CSS Grid and Flexbox
If you encounter any issues or have questions:
- Check the Issues page for existing solutions
- Create a new issue with detailed information about your problem
- Include your operating system, app version, and steps to reproduce
Tessel - Transform your videos into beautiful mosaics ✨