A desktop tool that bundles multiple developer and creator tools for offline use. Built with Tauri (Rust), React, and Python for powerful media processing capabilities.
- Linux-native: Currently builds and runs on Linux (Windows/macOS support planned)
- Offline-first: All processing happens locally on your machine
- Extensible: Easy to add new tools
- Modern UI: Clean, responsive interface built with React and Tailwind CSS
- Fast: Rust backend with Python processing engines
- Zero dependencies: Client-side tools require no additional installations
- Add Audio to Video: Combine video files with audio tracks using MoviePy
- Image Compressor: Reduce image file sizes while maintaining quality
- Image Format Converter: Convert between PNG, JPG, and WebP formats with quality control
- Favicon Generator: Create favicons in multiple sizes from images
- PDF Merger: Combine multiple PDF files into a single document
- PDF to Images: Convert PDF pages to JPG or PNG images
- JSON Formatter: Pretty-print, validate, and analyze JSON data
- Port Scanner: Check open ports on localhost with process identification
- Process Manager: View and manage system processes, similar to top command
- System Info: Display comprehensive hardware and software information
- QR Code Generator: Create QR codes for text, URLs, WiFi, contacts, and more
| Tool | Implementation | Dependencies | Size Impact |
|---|---|---|---|
| Add Audio to Video | Python (MoviePy) | MoviePy, FFmpeg | 0KB (runtime install) |
| Image Compressor | Python (Pillow) | Pillow | 0KB (runtime install) |
| PDF Merger | Python (PyPDF2) | PyPDF2 | 0KB (runtime install) |
| PDF to Images | Python (pdf2image) | pdf2image, Pillow, poppler | 0KB (runtime install) |
| Port Scanner | Python (socket) | Built-in | 0KB |
| Process Manager | Python (psutil) | psutil | 0KB (runtime install) |
| System Info | Python (psutil) | psutil | 0KB (runtime install) |
| JSON Formatter | Client-side React | None | 0KB |
| QR Code Generator | Client-side React | qrcode-generator | +15KB |
| Image Format Converter | Client-side React | Canvas API | 0KB |
| Favicon Generator | Client-side React | Canvas API | 0KB |
Note: Python tools use runtime dependency installation, keeping the initial app download small (~50MB) while ensuring all functionality is available after first-time setup.
Frontend (React + TypeScript + Tailwind)
↓ JSON Communication
Tauri Bridge (Rust)
↓ Process Execution + JSON I/O
Python Tools (Individual scripts)
- Node.js (v18 or higher)
- Rust (latest stable)
- Python 3.8+ with pip
- System dependencies for video processing:
- Linux:
sudo apt install ffmpeg
- Linux:
-
Clone the repository
git clone <repository-url> cd localtoolbox
-
Install Node.js dependencies
npm install
-
Install Python dependencies
pip install -r tools/requirements.txt
-
Install Rust dependencies (handled automatically by Tauri)
npm run tauri devThis will:
- Start the Vite development server
- Launch the Tauri application
- Enable hot-reload for both frontend and backend changes
npm run tauri buildThis creates Linux binaries in src-tauri/target/release/bundle/.
localtoolbox/
├── src/ # React frontend
│ ├── components/ # Reusable UI components
│ │ ├── Button.tsx
│ │ ├── FilePicker.tsx
│ │ ├── Sidebar.tsx
│ │ └── ToolCard.tsx
│ ├── tools/ # Tool-specific UI components
│ │ └── AddAudioToVideo.tsx
│ ├── App.tsx # Main application
│ └── main.tsx # React entry point
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── main.rs # Tauri entry point
│ │ ├── lib.rs # Main Tauri configuration
│ │ └── python_bridge.rs # Python execution bridge
│ └── Cargo.toml # Rust dependencies
├── tools/ # Python processing scripts
│ ├── video_add_audio/
│ │ └── addaudio.py
│ └── requirements.txt # Python dependencies
└── package.json # Node.js dependencies
- Ensure the Python script exists in
tools/{tool_name}/{tool_name}.py - Check that Python is installed and accessible as
python3
- Install FFmpeg system-wide
- Ensure it's in your system PATH
- Run
cargo cleanin thesrc-tauridirectory - Delete
node_modulesand runnpm installagain - Ensure all system dependencies are installed
MIT License - see LICENSE file for details
- Fork the repository
- Create a feature branch
- Add your tool following the guidelines above
- Submit a pull request
- Technical Details: Implementation details for each tool
- Contributing Guide: How to add new tools and contribute