Skip to content

nickravesh/GoWebp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoWebp

A cross-platform batch image-to-WebP converter with a modern GUI, written in Go.

Features

  • 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

Screenshot

GoWebp GUI

Installation

Prerequisites

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.

Build Instructions

Follow these steps to build the project for your platform:

  1. Clone the repository:

    git clone https://github.com/nickravesh/GoWebp.git
    cd GoWebp
  2. Install dependencies:

    go mod tidy
  3. 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

Usage

  1. Launch the application.
  2. Drag and drop images or folders into the window, or use the Add Image or Add Directory buttons to select files.
  3. Adjust settings (quality, concurrency) using the Settings button.
  4. Click Start Conversion to begin converting images to WebP format.
  5. View progress in the progress bar and logs in the log pane.
  6. Open the output folder using the Open Output Folder button.

Troubleshooting

OpenGL Errors on Windows

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.

Missing Dependencies on Linux

Ensure you have installed the required OpenGL and X11 libraries:

sudo apt-get install -y libgl1-mesa-dev xorg-dev

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests on GitHub.

License

This project is licensed under the GNU GPL v3. See the LICENSE file for details.

About

A cross-platform batch image-to-WebP converter with a modern GUI, written in Go.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published