NekoCap
A browser extension for creating, uploading and viewing community created captions on video sharing sites such as YouTube, Vimeo and niconico.
Get the extension:
Chrome / Edge
Website:
NekoCap.com
Features
Extension
- Built in caption editor accessible directly from supported video sharing sites
- Custom caption positioning
- Support for hotkeys from various editing software
- Caption file export (SRT)
- More to come
- Caption file loading (SRT, VTT, SBV, SSA, ASS supported)
- Caption upload
- Caption viewing
- Advanced Substation Alpha (SSA/ASS) caption rendering
- Caption rating system
Website
- Captioned video search
- Captioner profiles
- Caption review page
- Captioner moderation tools (verify, reject)
Setup for local development
- Run
npm install - Copy the contents of
.env.sampleto.envand fill in the details.- Firebase variables are used for auth
- Run
npm run watchto start the webpack dev server for both the extension and the NekoCap website - Go to
chrome://extensionsin Chrome and load the unpacked extension from thedist/extensionfolder - Go to
http://localhost:12341to access the NekoCap website
Adding fonts to be hosted from the NekoCap site for SSA/ASS rendering
- Create a folder called
server-fontsin the project root. (Webpack is configured to copy fonts there to the website's output directory) - Add woff2 webfonts that you want to serve from the website into that folder
- Modify
src/common/substation-fonts.tsto assign font names to the corresponding woff2 files in that folder.
Creating a production build
- Copy the contents of
.env.sampleto.env.prodand fill in the details.- Add
PRODUCTION=1to the end of the file.
- Add
- Run
npm run buildto build both the extension and the website- Run
npm run build:extto build just the extension - Run
npm run build:webto build just the website
- Run
- The output will be in
dist/webanddist/extension1.- License information of utilized packages will be in *.licenses.txt next to the output javascript
If you want to build the NekoCap website Docker image
- Follow step 1 in Creating a production build
- Copy the contents of
Dockerfile.sampletoDockerfileand change whatever is necessary. - Copy the nginx template
docker/default.conf.templatetodocker/default.confand change the configuration to suit your needs. - Run
docker buildwith your desired options.
Special thanks
Many great packages helped to bring this to life but extra kudos go to these projects without which NekoCap would not have been the same:
- SubtitleOctopus - ASS rendering
- React Hotkeys - Easy to use hotkeys (use the latest Github build and not the outdated npm one)
- subtitle.js - SRT and VTT parsing
- ass-compiler - ASS parsing

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
