Ask in public
Ask on GitHub Discussions or on Subtitle Sync's Discord server (both need a free account). Others with the same app or film can answer, the answer stays there for the next person, and new versions and fixes are announced in both.
Find your answer below, or ask us.
Ask on GitHub Discussions or on Subtitle Sync's Discord server (both need a free account). Others with the same app or film can answer, the answer stays there for the next person, and new versions and fixes are announced in both.
No answer here. Ask on GitHub or Discord, or write to us privately.
This addon is, and it has no ads; its server is paid for by donations. OpenSubtitles (required), SubDL, SubSource, Subs.ro, AltyaziDB and TheSubtitleDB are free, each with a daily limit on your own account; Jimaku is free too. The AI translation uses your own free Gemini key from Google, with no card. Titlovi.com is optional and paid: it asks for its own yearly supporter donation for API access. Subtitles from this addon end with a short line asking for support, 20 seconds after the last line.
Yes. Install it once from a computer (or web.stremio.com) with the same Stremio account, and your TV and phone pick it up by themselves.
Any app that tells subtitle addons which video file is playing: its name, its size or its fingerprint. Stremio does on every device (Windows, Mac, Linux, Android, Android TV; in a web browser it sends less, see below), and Nuvio’s Android TV app sends the fingerprint (its LG TV app often sends nothing). Nuvio’s phone app sends the file’s name, and on Android often its fingerprint, since its version 0.6.7 (November 2026); on iPhone it sends less, and older versions send nothing. Some other apps built for Stremio addons send nothing about the file; in them every subtitle comes untimed, and the list ends with a row that says so. Only the app's developers can change that.
OpenSubtitles: almost every language. SubDL and SubSource: many languages, and especially good for English, Arabic, Indonesian, Vietnamese, Turkish, Brazilian Portuguese and Korean. Titlovi.com: Serbian, Croatian, Bosnian, Macedonian, Slovenian and English. Subs.ro: Romanian. AltyaziDB: Turkish. Jimaku: Japanese, for anime and for Japanese dramas and films. TheSubtitleDB: every language, most of its subtitles also on the sites above (those are shown once). When none of your sites has a subtitle in your languages for a video, you get the English ones instead, each marked so, and with a free Gemini key a subtitle translated into your language by AI comes on top. Spanish is two choices, Latin America and Spain, and each subtitle is put under the one it is written in. Chinese is two choices too, Simplified (简体中文) and Traditional (繁體中文): each subtitle goes under the one its characters are written in, Chinese-English ones are marked 中英双语, and a machine translation into Traditional uses Taiwan's words. Hebrew subtitles come from OpenSubtitles, SubDL, SubSource and TheSubtitleDB only. A subtitle saved in an older text format (garbled letters in Portuguese, Arabic, Serbian and many more) is read in the right one for its language before it reaches your player.
Subtitles sync to the video itself when this addon can read the film you play. That depends on your debrid service and on the addon that gives you the streams.
Checked on 27 September 2026.
Yes, if you like. Subtitles sync to the video itself when the file has a text subtitle track built in, in any language (most films do, in English). AIOStreams can put such files first: open Filters, then Stream Expression, and under “Ranked Stream Expressions” add one: a name of your choice, a score (100 is fine) and this expression: subtitleTrack(streams, 'codec=subrip|ass|ssa|mov_text|webvtt', '!forced') . Then open Sorting, add “Stream Expression Score” and set it to descending. Files AIOStreams has not looked inside yet simply stay where they are. This is optional: without it, subtitles still sync whenever the file you pick has such a track.
OpenSubtitles deletes an API key that downloads nothing for 60 days, so after two months away your key may be gone. To check, open Addons in Stremio, then Subtitle Sync, Configure, and press “Test my setup”: it says so when OpenSubtitles turns the key down. Then make a new key (step 2 of the setup shows how, with pictures), uninstall the old Subtitle Sync in Stremio and install it again with the new key.
Stremio tells a subtitle addon only which film or episode is playing and, in most apps, the video file's name, size and fingerprint (the same for every copy of that exact file). It never shares the sound or the picture, so the addon finds a timing reference instead: something known to fit your file. The best is the video's own built-in subtitle track, in any language, found through your TorBox key or stream addon link (lining up uses only its times, never its words). Next best is an OpenSubtitles subtitle uploaded for your exact file, or for a copy just like it. Each subtitle is turned into a timeline of when someone speaks and slid along the reference until the two fit best. The usual frame-rate differences are tried too, so a subtitle that slowly drifts is fixed as well, and one made for a different cut (a scene more or less) gets its own shift for each part. The new timing is used only when that fit clearly stands out from every other try; otherwise the subtitle is shown as uploaded and marked ⚠️ Not synced, so a wrong guess never reaches your screen. Your first language's top subtitles are checked before the menu appears; the others are lined up when you pick one.
Perfect timing reads the subtitles built into your video, which needs TorBox (the only debrid service whose files this addon reads) and the Stremio app (a web browser doesn’t say which file is playing). Without that, subtitles are lined up against a matching OpenSubtitles file, which works for most popular films. If someone already played the very same file through TorBox, its timing is kept and used for you too (when your app sends the file’s fingerprint). Very new releases may have nothing to compare against, and those are marked ⚠️ Not synced. Before the menu appears, every Titlovi subtitle is checked, and OpenSubtitles ones in your first language one at a time until one lines up; the other OpenSubtitles subtitles are synced when you pick one.
Stremio in a web browser (web.stremio.com) doesn’t tell addons the name of the file you are playing, so we can’t find it through your stream addon. Subtitles are then timed against a matching OpenSubtitles file, or shown as uploaded. The Stremio app on a computer, TV or phone sends the file name (a few TV builds and the older 4.4 desktop app don’t).
The first time you play a video, we find its own built-in subtitles and, before Stremio shows the menu, try your first language's subtitles one at a time until one lines up with it. That one goes on top. It usually takes a few seconds, at most about 25; anything not checked by then says ⏳ and is synced when you pick it. Playing the same video again is instant.
On Android and Android TV, Stremio shows only the addon’s name on each row, not our status; the top row in each language is the best one (synced to your video when that is possible). Stremio is working on showing the full labels there too. Some of this is Stremio’s own players, not the subtitle: on Android the subtitle delay setting can stop working after you skip ahead, Stremio sometimes picks another addon’s subtitle by itself (pick ours from the menu: the ✅ one on top), and some iOS test versions show no addon subtitles at all. If č, ć, đ, š or ž look garbled on a TV, tell us through the contact form below. When your OpenSubtitles downloads for the day are used up, or Titlovi.com has logged you out, the subtitle you pick says so on screen and what to do.
Yes. On the setup page, under Advanced, choose “One per language, the best we find”. Each language is then one row: the subtitle we would have put on top. If it cannot be lined up when you pick it, the next best is tried for you, up to three more, and the first that lines up is what you get. When nothing can be compared with your video (no stream addon link or TorBox key, nobody played this very file before, and no OpenSubtitles subtitle made for your file or a copy like it), every subtitle is still shown, so you can try another by eye. The rows that explain a problem stay too, and so does a machine translation: when none of your languages has a subtitle and one is offered, its row comes on top as well.
Yes, when nothing exists in your language. On the setup page, step 2, tick “Translate a subtitle from another language with Gemini” and paste your own free Gemini key from Google AI Studio (no card needed). You can also tick DeepL and paste your own DeepL API key, alone or next to Gemini: a new DeepL account gets 1,000,000 characters once (no card needed), an older free one 500,000 a month. Or tick OpenRouter and paste your own OpenRouter key to use any AI model it offers: its free models allow 50 requests a day, paid ones use your OpenRouter credits, and what it translates is kept for you alone. With both, step 2 sets which one translates first, and the other takes over where the first can't go on. In the advanced options on the last step you can choose which Gemini model goes first. Then, when your sites have no subtitle in any of your languages for a video, the list offers one translated into your first language, at the top (a subtitle in one of your other languages comes first: nothing is translated then, unless you choose “Translate anyway” in step 2): from a subtitle made for your very file if there is one, else in a language nearly the same as yours (Croatian for Serbian, Danish for Norwegian, Ukrainian for Russian, Brazilian for European Portuguese…), else in the film's original language (it translates best), else English. It is timed like that subtitle would be. Each of your other languages that has no subtitle gets a translated row too, made from a subtitle the list found; that one starts only when you pick it. That subtitle can also come from a site that has none in your languages: tick Subs.ro, AltyaziDB, Jimaku or Titlovi.com in step 2 with your own key, and a Romanian, Turkish or Japanese title, or one from the region, is translated from the subtitles there. When no site has any subtitle for the video in any language and the video file you play has a subtitle track of its own (read through your TorBox key or stream addon link), that track is translated instead, timed to the video, and offered to everyone who plays the very same file. The first time you pick it, it may say it is translating: the translation starts as soon as the list appears and is usually ready within a minute, then pick it again. A translation is made once: it is kept and offered to everyone whose subtitle is the same, so even without a key you get the translated row when someone already translated that subtitle. On Google's free plan, Google may read and use what is sent to it (only the subtitle's text), and Google asks that you are 18 or older. On DeepL's free plan, DeepL may keep the text it is sent. How the free AI translation works
Tell Stremio which subtitle language you want, and it turns our synced subtitle on by itself when a film starts. On a computer or in a browser: Settings (the gear) → Player → “Default Subtitles Language”. On a TV or phone: the settings icon (the gear), then scroll down to Subtitles. Stremio lists every language under its own name, so look for it that way: Serbian is “Српски језик”, Croatian “Hrvatski jezik”, Bosnian “Bosanski jezik”, English “English”. If you also have another subtitle addon, such as OpenSubtitles v3, uninstall it (this addon already brings OpenSubtitles): Stremio turns on the first subtitle in your language, and another addon’s subtitles usually arrive first.
They are encrypted inside your own addon link, and the server never stores them. The one exception is the login token OpenSubtitles gives back when the addon logs in for you (never your password): it is kept encrypted on the server until it expires, about a day, so an update of the server does not log everyone in again. Anyone with the whole link can use it, so don’t share it.
Yes. The site and the addon handle subtitles only, keep your keys sealed inside your own link, and have no ads or trackers. The address is still fairly new (September 2026), and a few ad and DNS blockers block every recently registered address. If yours does, allow subtitlesync.stream in its settings.
To see how well syncing works, it records which film or episode was asked for, the video's file name, size and hash (a fingerprint of the file, the same for everyone who plays it), your device and app (from the User-Agent, up to 200 characters), which subtitles were offered (their release names, their numbers on the site they are from and, for Spanish, whether each is Latin American or from Spain), how the subtitles were timed and how well each one lined up, the line timings (never the words) of subtitles used as a timing reference and which text subtitle tracks a video file has (their languages, never their words), which public subtitle uploads could not be opened (the site and the file's number, so nobody is offered them again), the subtitle files downloaded from OpenSubtitles (public files, under their number there, so the next person playing the same subtitle spends none of their downloads), the files downloaded with your keys from the other sites and the subtitles made for you (for a while, under your code only), how many downloads your keys have left on each site and when a site asked to slow down (under a code, until it resets, so an update of the server does not spend your last ones), how often your player downloaded the same subtitle again (a count, when, and the app’s User-Agent), the translations of subtitles made with Gemini or DeepL (the translated text, which of them made it, the source file's number and language, for one made from a video file's own subtitle track that file's hash and the lines' timings, never who made them, so nobody has to translate the same subtitle again), whether you added a Gemini or DeepL key for translations, and which translates first (only yes or no, never the key), each film's original language (from Wikidata), which subtitle sites, languages and alphabet you chose, how you said you watch (step 3’s answer), the Advanced options you ticked, how many subtitles per language and which file format, whether you added an OpenSubtitles login and a TorBox key (only yes or no, never the login or key), your stream addon's web address shortened to its main domain, and which debrid service you use (Real-Debrid, AllDebrid, Premiumize, Debrid-Link, TorBox or other). Each visit to this page gets its own random id, and every step, check and click you make here is recorded under it, with one word for the kind of site that sent you here (a search engine, an AI assistant, Discord, a forum…), never its address. Each opening of this site’s public pages is counted too, with only the page and a label: the crawler’s name when a search engine or AI assistant opened it, or else the kind of site you came from (a search engine, an AI assistant, Discord, a forum…), never the address itself. Each request’s details are deleted after 180 days, and the list of subtitles it offered and the video’s file name after 30 days; daily counts are kept. Line timings and translations are about files, not people, and are kept (a video’s timings with its file name and size, so they can be found again for an app that sends no fingerprint). Everything is filed under a random code that cannot be turned back into your keys. No IP addresses, keys or links are kept. If you send us a message, we keep it, with your support code, the kind of device and your email address if you give one, so we can answer you. Your own recent plays are shown to you on this page when you open it from Stremio (Configure), and to nobody else. A translation made with OpenRouter is kept for 30 days for your install alone and offered to nobody else.
In Stremio, open Addons, find Subtitle Sync and press its gear (Configure). The page that opens shows your support code at the top, with a Copy button. If you write to us from that page, the code is sent with your message by itself. The code tells us which setup is yours, so we can see what happened; it cannot be turned back into your keys.
A problem, a question or a suggestion? Messages come straight to us. Leave your email if you want an answer.