{"data":{"slug":"pluja-whishper","name":"whishper","tagline":"Transcribe any audio to text, translate and edit subtitles 100% locally with a web UI. Powered by whisper models!","github_url":"https://github.com/pluja/whishper","owner":"pluja","repo":"whishper","owner_avatar_url":"https://avatars.githubusercontent.com/u/64632615?v=4","primary_language":"Svelte","stars":3039,"forks":177,"topics":["ai","audio-to-text","golang","speech-recognition","speech-to-text","stt","subtitles","sveltekit","transcription","ui","web","web-whisper","webapp","whisper"],"archived":false,"github_pushed_at":"2025-08-15T18:19:02+00:00","maintenance_label":"Slowing","url":"https://www.graphcanon.com/tools/pluja-whishper","markdown_url":"https://www.graphcanon.com/tools/pluja-whishper.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/pluja-whishper","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=pluja-whishper","description":"Transcribe any audio to text, translate and edit subtitles 100% locally with a web UI. Powered by whisper models!","homepage_url":"https://whishper-docs.pages.dev/","license":"AGPL-3.0","open_issues":108,"watchers":39,"ai_summary":null,"readme_excerpt":"## 🚧 I am working on a complete rewrite of the project. Progress on this can be seen at [v4 branch](https://github.com/pluja/whishper/tree/v4). Consequently, this branch will not receive any new releases or updates.\n\n**Whishper** is an open-source, 100% local audio transcription and subtitling suite with a full-featured web UI.\n\n## Features\n\n- [x] 🗣️ **Transcribe any media** to text: audio, video, etc.\n  - Transcribe from URLs (any source supported by yt-dlp).\n  - Upload a file to transcribe.\n- [x] 📥 **Download transcriptions in many formats**: TXT, JSON, VTT, SRT or copy the raw text to your clipboard.\n- [x] 🌐 **Translate your transcriptions** to any language supported by [Libretranslate](https://libretranslate.com).\n- [x] ✍️ **Powerful subtitle editor** so you don't need to leave the UI!\n  - Transcription highlighting based on media position.\n  - CPS (Characters per second) warnings.\n  - Segment splitting.\n  - Segment insertion.\n  - Subtitle language selection.\n- [x] 🏠 **100% Local**: transcription, translation and subtitle edition happen 100% on your machine (can even work offline!).\n- [x] 🚀 **Fast**: uses FasterWhisper as the Whisper backend: get much faster transcription times on CPU!\n- [x] 👍 **Quick and easy setup**: use the quick start script, or run through a few steps!\n- [x] 🔥 **GPU support**: use your NVIDIA GPU to get even faster transcription times!\n- [x] 🐎 **CPU support**: no GPU? No problem! Whishper can run on CPU too.\n\n### Roadmap\n\n- [ ] Local folder as media input ([#15](https://github.com/pluja/whishper/issues/15)).\n- [ ] Full-text search all transcriptions.\n- [ ] User authentication.\n- [ ] Audio recording from the browser.\n- [ ] Add [insanely-fast-whisper](https://github.com/Vaibhavs10/insanely-fast-whisper) as an optional backend ([#53](https://github.com/pluja/whishper/issues/53)).\n- [x] ~~Support for GPU acceleration.~~\n  - [ ] Non NVIDIA GPU support. Is it possible with faster-whisper?\n- [ ] Can we do something with [seamless_communication](https://github.com/facebookresearch/seamless_communication)?\n\n## Project structure\n\nWhishper is a collection of pieces that work together. The three main pieces are:\n\n- Transcription-API: This is the API that enables running Faster-Whisper. You can find it in the `transcription-api` folder.\n- Whishper-Backend: This is the backend that coordinates frontend calls, database, and tasks. You can find it in `backend` folder.\n- Whishper-Frontend: This is the frontend (web UI) of the application. You can find it in `frontend` folder.\n- Translation (3rd party): This is the libretranslate container that is used for translating subtitles.\n- MongoDB (3rd party): This is the database that stores all the information about your transcriptions.\n- Nginx (3rd party): This is the proxy that allows running everything from a single domain.\n\n### Contributing\n\nContributions are welcome! Feel free to open a PR with your changes, or take a look at the issues to see if there is something you can help with.\n\n### Development setup\n\nCheck out the development documentation [here](https://whishper-docs.pages.dev/guides/develop/).\n\n## Screenshots\n\nThese screenshots are available on [the official website](https://whishper-docs.pages.dev/usage/transcriptions/), click any of the following links to see:\n\n- [A transcription creation](https://whishper-docs.pages.dev/usage/transcriptions/)\n- [A transcription translation](https://whishper-docs.pages.dev/usage/translate/)\n- [A transcription download](https://whishper-docs.pages.dev/usage/download/)\n- [The subtitle editor](https://whishper-docs.pages.dev/usage/editor/)\n\n## Support\n\n- [Monero](https://www.getmonero.org/): `82x6cn628oTUXV63DxBd6MJB8d997FhaSaGFvoWMgwihVmgiXYQPAwm2BCH31AovA9Qnnv1qQRrJk83TaJ8DaSZU2zkbWfM`\n- [Bitcoin](https://bitcoin.org/en/): `bc1qfph44jl4cy03stwfkk7g0qlwx2grldr9xpk086`\n- [Lightning Network (kycnotme)](https://getalby.com/p/kycnotme)\n\n## Star History\n\n<a href=\"https://star-history.com/#pluja/whishper&Date\">\n  <picture>","github_created_at":"2023-08-26T08:34:13+00:00","created_at":"2026-07-11T12:16:32.915724+00:00","updated_at":"2026-07-11T12:16:41.63278+00:00","categories":[{"slug":"speech-audio","name":"Speech & Audio","url":"https://www.graphcanon.com/categories/speech-audio","markdown_url":"https://www.graphcanon.com/categories/speech-audio.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/speech-audio"},{"slug":"developer-tools","name":"Developer Tools","url":"https://www.graphcanon.com/categories/developer-tools","markdown_url":"https://www.graphcanon.com/categories/developer-tools.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/developer-tools"}],"tags":[{"slug":"audio-to-text","name":"audio-to-text"},{"slug":"ai","name":"ai"},{"slug":"speech-to-text","name":"speech-to-text"},{"slug":"subtitles","name":"subtitles"},{"slug":"sveltekit","name":"sveltekit"},{"slug":"stt","name":"stt"},{"slug":"speech-recognition","name":"speech-recognition"},{"slug":"golang","name":"golang"}],"trust":{"provenance":{"is_fork":false,"github_id":683336280,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-11T12:16:33.557Z","maintenance":{"label":"Slowing","score":36,"methodology":"github_public_v1","releases_90d":0,"days_since_push":329,"last_release_at":"2024-09-17T20:19:24Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T12:16:37.339Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-11T12:16:37.086Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-07-11T12:16:37.086Z","managed_saas":false},"languages":{"value":["svelte"],"source":"github.language","observed_at":"2026-07-11T12:16:37.086Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-07-11T12:16:37.086Z"},"license_spdx":{"value":"AGPL-3.0","source":"github.license","observed_at":"2026-07-11T12:16:37.086Z"}}}}