libreconvert is a powerful, offline-first file converter application built with Flutter for desktop platforms. It supports a wide range of file types including images, audio, video, and documents, leveraging system-installed tools like FFmpeg, Pandoc, and ImageMagick for conversions.
If you find this project useful, consider supporting it by buying me a coffee:
libreconvert is designed to provide a user-friendly experience for converting files locally on your desktop, ensuring privacy and accessibility without requiring an internet connection. The application features a clean GUI for selecting files, choosing output formats, monitoring conversion progress, and configuring advanced settings.
- File Selection: Select single or multiple files for conversion using native file dialogs.
- Format Selection: Choose target formats from dropdowns or selection widgets based on file type.
- Conversion Processing: Perform conversions locally using ImageMagick for images, FFmpeg for audio/video, and Pandoc for documents.
- Progress Feedback: View conversion progress and results for each file.
- Batch Processing: Convert multiple files simultaneously with Dart's isolates for concurrency.
- Images: PNG, JPG, BMP, GIF, WEBP, HEIC, TIFF, and many more supported by ImageMagick.
- Audio & Video: MP4, MKV, AVI, MOV, WMV, FLV, MP3, WAV, FLAC, OGG, AAC, M4A, and other formats supported by FFmpeg.
- Documents: Markdown, HTML, PDF, DOCX, ODT, RTF, TXT, EPUB, and other formats supported by Pandoc.
LibreConvert relies on external command-line tools for its conversion capabilities. Please ensure you have the following tools installed on your system for full functionality:
-
Linux (Debian/Ubuntu):
sudo apt update sudo apt install ffmpeg
-
Linux (Fedora):
sudo dnf install ffmpeg
-
Linux (Arch Linux):
sudo pacman -S ffmpeg
-
macOS (using Homebrew):
brew install ffmpeg
-
Windows (using Chocolatey):
choco install ffmpeg
(Alternatively, download from ffmpeg.org and add to PATH.)
-
Linux (Debian/Ubuntu):
sudo apt update sudo apt install imagemagick
-
Linux (Fedora):
sudo dnf install ImageMagick
-
Linux (Arch Linux):
sudo pacman -S imagemagick
-
macOS (using Homebrew):
brew install imagemagick
-
Windows (using Chocolatey):
choco install imagemagick
(Alternatively, download from imagemagick.org and add to PATH.)
-
Linux (Debian/Ubuntu):
sudo apt update sudo apt install pandoc
-
Linux (Fedora):
sudo dnf install pandoc
-
Linux (Arch Linux):
sudo pacman -S pandoc
-
macOS (using Homebrew):
brew install pandoc
-
Windows (using Chocolatey):
choco install pandoc
(Alternatively, download from pandoc.org and add to PATH.)
-
Linux (Debian/Ubuntu):
sudo apt update sudo apt install texlive-full # Installs a comprehensive TeX Live distribution
(For a smaller installation, consider
texlive-latex-extra
andtexlive-fonts-recommended
.) -
Linux (Fedora):
sudo dnf install texlive-scheme-full
-
Linux (Arch Linux):
sudo pacman -S texlive-most
-
macOS: Install MacTeX.
-
Linux (Debian/Ubuntu):
sudo apt update sudo apt install potrace
-
Linux (Fedora):
sudo dnf install potrace
-
Linux (Arch Linux):
sudo pacman -S potrace
-
macOS (using Homebrew):
brew install potrace
-
Windows (using Chocolatey):
choco install potrace
(Alternatively, download from potrace.sourceforge.net and add to PATH.)
For the file picker to function correctly on Arch-based distributions, you may need xdg-desktop-portal
and zenity
.
-
Install
xdg-desktop-portal
:sudo pacman -S xdg-desktop-portal
-
Install a backend specific to your desktop environment (e.g., for GNOME/GTK):
sudo pacman -S xdg-desktop-portal-gtk
(Replace
xdg-desktop-portal-gtk
withxdg-desktop-portal-kde
for KDE, etc.) -
Install
zenity
:sudo pacman -S zenity
-
Clone the repository:
git clone https://github.com/libre-tools/libreconvert.git cd libreconvert
-
Install dependencies:
flutter pub get
-
Run the application:
flutter run -d linux # or -d macos, -d windows depending on your platform
libreconvert is built with Flutter, using Dart for core logic. The project structure is as follows:
- lib/: Main source code directory.
- main.dart: Entry point for the application.
- ui/: User interface widgets.
- utils/: Utility classes for file handling and conversion.
- models/: Data models for conversion tasks and settings.
Contributions are welcome! Please feel free to submit a Pull Request or open an Issue for any bugs, feature requests, or improvements.
This project is licensed under the MIT License - see the LICENSE file for details.