Copus is a lightweight web app that lets you convert MP3 files to Opus or Ogg formats directly in your browser. It's built with Node.js, Express, ffmpeg, and a simple frontend for drag-and-drop file conversion.
-
Drag-and-drop or click-to-upload MP3 files
-
Convert MP3 to Opus or Ogg formats
-
Shows file size and conversion progress
-
Download the converted file instantly
-
Simple, responsive, and lightweight UI
-
CORS enabled for flexible use
-
Backend: Node.js, Express, Multer, ffmpeg
-
Frontend: HTML, CSS, JavaScript
-
File handling: Multer for uploads, Fluent-ffmpeg for audio conversion
-
Deployment: Can run locally or on platforms like Render
-
Node.js (v18+)
-
ffmpeg installed and available in PATH
git clone https://github.com/loag0/copus.git
cd copus
npm install
Tip
Install nodemon for live server reloading
npm install -g nodemon
Start server
nodemon index.js
Otherwise use
node index.js
copus/
│
├─ index.html
├─ index.js # backend server
├─ package.json
├─ styles.css # frontend styles
├─ script.js # frontend logic
├─ assets/ # images, icons, favicon
│ ├─ upload.svg
│ └─ favicon.ico
└─ uploads/ # temporary uploaded files (auto-deleted after conversion)
-
Open the app in your browser.
-
Drag-and-drop or click to upload an MP3 file.
-
Select the target format (Opus or Ogg).
-
Click Convert.
-
Download the converted file.
-
Security & Performance Notes
-
Temporary files are deleted after conversion.
-
Only MP3 files are allowed for upload.
-
CORS is enabled for frontend flexibility.
-
Using HTTPS
-
Limiting max upload size
-
Rate limiting endpoints
-
Running ffmpeg in a sandbox/container
You can host it on Render, Vercel, or any Node.js compatible server.
Make sure the server is accessible via HTTPS for secure file uploads/downloads.
This project was inspired by @disara7, whose image format converter gave me the idea to make my own tool. I built copus to convert MP3s to Opus/OGG for my custom notification sounds, and now anyone can use it too!
MIT License — feel free to use, modify, or share.