A cross-platform batch image-to-WebP converter with a modern GUI, written in Go.
- Drag-and-drop or browse to select images/folders
- Batch conversion to WebP with preserved folder structure
- Adjustable quality and concurrency
- Progress bar and detailed log pane
- Cross-platform: Works on Linux, Windows, and macOS
- Lightweight and fast, with a modern GUI built using Fyne
Before building or running GoWebp, ensure you have the following installed:
- Go 1.21+: Download here
- Fyne dependencies:
- On Linux: Install OpenGL and X11 development libraries:
sudo apt-get install -y libgl1-mesa-dev xorg-dev
- On macOS: Install
pkg-config
using Homebrew:brew install pkg-config
- On Windows: No additional dependencies are required.
- On Linux: Install OpenGL and X11 development libraries:
Follow these steps to build the project for your platform:
-
Clone the repository:
git clone https://github.com/nickravesh/GoWebp.git cd GoWebp
-
Install dependencies:
go mod tidy
-
Build the executable:
-
For Windows:
GOOS=windows GOARCH=amd64 go build -o GoWebp-windows.exe ./cmd/GoWebp
-
For Linux:
GOOS=linux GOARCH=amd64 go build -o GoWebp-linux ./cmd/GoWebp
-
For macOS:
GOOS=darwin GOARCH=amd64 go build -o GoWebp-macos ./cmd/GoWebp
-
- Launch the application.
- Drag and drop images or folders into the window, or use the Add Image or Add Directory buttons to select files.
- Adjust settings (quality, concurrency) using the Settings button.
- Click Start Conversion to begin converting images to WebP format.
- View progress in the progress bar and logs in the log pane.
- Open the output folder using the Open Output Folder button.
If you encounter an error like:
Fyne error: window creation error
Cause: APIUnavailable: WGL: The driver does not appear to support OpenGL
This means your system does not support OpenGL. To resolve this:
- Update your graphics drivers.
- If running in a VM, enable 3D acceleration.
- Use a machine with OpenGL 2.1+ support.
Ensure you have installed the required OpenGL and X11 libraries:
sudo apt-get install -y libgl1-mesa-dev xorg-dev
Contributions are welcome! Feel free to open issues or submit pull requests on GitHub.
This project is licensed under the GNU GPL v3. See the LICENSE file for details.