Skip to content

Settings — Scoring

When Sublarr searches a provider it gets back a list of candidate subtitles. Scoring turns that list into a ranking. Whichever candidate ends up on top — provided it clears the profile cutoff — is the one that gets downloaded. Tune scoring when Sublarr consistently picks the wrong release group, the wrong format, or the wrong source.

Everything on this page lives under Settings → Subtitles → Scoring.

A candidate’s score is the sum of two independent stages:

base weights how well the candidate identifies the right title/episode
+ penalty rules how well the release itself matches your file
= final score

There is no fixed upper bound and no 0–10 normalisation — scores are raw point totals. A typical good episode match lands somewhere between 150 and 260; a hash match can exceed 350. What matters is the relative order of candidates within one search, not the absolute number.

These answer “is this subtitle even for the right thing?” and carry the most weight by far.

ComponentDefault (episode)Effect
Hash359Provider ships a subtitle keyed to the exact file hash. Guaranteed fit — outranks everything.
Series180Series title matches.
Format bonus80Candidate is ASS/SSA rather than plain SRT.
Season30Season number matches.
Episode30Episode number matches.
Release group20Release group matches.
Source5Source type matches (BluRay / WEB-DL / HDTV).
Resolution2Resolution matches.
Audio codec2Audio codec matches.
Hearing impaired1HI flag matches the request.

Movies use the same mechanism with a title/year pair instead of series/season/episode.

Edit these under Advanced: fine-tune weights. Prefer a preset (below) before hand-editing individual numbers.

A preset replaces the whole weight set in one click. Three ship with Sublarr:

PresetTuned for
AnimeHigh series/episode match, strong ASS preference, release group matters.
MoviesHash match important, title/year weighted, moderate format bonus.
TVStrong episode/season match, hash important, moderate release group.

Applying a preset overwrites your current weights.

Since 1.10.0 a preset can also be pinned per language profile (Settings → Subtitles → Languages → profile → Scoring preset), so an anime profile scores with ASS preference while a film profile keeps the movie weights — no more global either/or.

Penalty rules run after the base weights and evaluate the release name itself. Despite the name most of them add points; a negative weight subtracts.

RuleDefaultFires when
ASS Format Bonus+50Candidate is ASS or SSA.
HI Preference — Prefer+30Request prefers HI and the candidate is HI.
Forced Preference — Prefer+30Request prefers forced subs and the candidate is forced.
Release Group Match+14Release info contains the requested release group.
Source Match+7Release info names the requested source.
Audio Codec Match+3Release info names a common audio codec.
Resolution Match+2Release info contains the requested resolution.
Video Codec Match+2Release info contains a tag from the requested codec family.
HI Preference — Exclude / Only−999Request excludes HI and candidate is HI (or the inverse). Kills the candidate.
Forced Preference — Exclude / Only−999Same logic for forced subtitles. Kills the candidate.

The −999 rules sit deliberately far below any achievable positive total: they are exclusions, not penalties.

Five further rules ship disabled (weight 0) — raise the weight to activate them:

RulePurpose
Release Group Substring (Loose)Matches the first three characters of the group name; catches abbreviations.
Source Hierarchy PenaltyPunishes a lower-tier source than requested (WEB-DL candidate for a BluRay file).
Year Off-By-One ToleranceAccepts a year within ±1 — common when release year differs from production year.
Codec Upgrade MismatchPunishes a candidate whose codec is less efficient than the file’s.
Machine-Translation PenaltyPunishes candidates flagged as machine-translated (MT confidence ≥ 80).

New in 1.10.0. Instead of maintaining preferences per series, rank release groups once, globally into tiers. A higher tier grants a proportional bonus, controlled by Points per tier rank (default 10).

Enter one group per rank under Release-group ranking. Groups that are not listed stay unaffected — the tier system only ever adds, it never punishes an unlisted group.

This is separate from the preferred / blocked groups fields on the same page, which apply a flat bonus or a hard block.

New in 1.10.0. When the built-in rules don’t capture what you care about, write your own: a regular expression plus a signed weight. A match adds the weight to the candidate’s score; a negative weight subtracts.

FieldRules
NameNon-empty. Shown in the score breakdown.
PatternMust be a valid regular expression, max 500 characters.
WeightWhole number. Negative values penalise.
(?i)\b(judas|erai)\b weight 15 reward two fansub groups
(?i)\bhardsub\b weight −40 push hardsubbed releases down

Patterns are validated on save: an unbalanced bracket, an over-long pattern, an empty name or a non-integer weight are each rejected with a specific error rather than silently ignored.

Some languages have a thinner subtitle pool than others. Override the global cutoff per language under Language-specific scores, as JSON:

{"de": 80, "fr": 70}

The values are raw score points on the same scale as everything else on this page — not percentages. A per-language threshold takes precedence over the profile cutoff for that language only.

Providers differ in quality. A per-provider modifier nudges every candidate from that provider up or down; set it under Settings → Providers. With auto-prioritise providers enabled, Sublarr additionally re-orders providers by their rolling success rate and applies the modifier on top of that order.

Every download stores its full score breakdown. Open Activity → History, find the entry and use the why? action: it shows which providers were searched, what each filter stage rejected and why, and how the winning score was assembled — including release-group bonuses and every penalty-rule hit.

When a search found nothing, the same log is kept on the wanted item instead (“Why was nothing found?”).

See Decision log for the full reference.