How THDB rates horror movies
Every movie on The Horror Database carries a scare profile: eight calibrated scores plus a short texture summary describing how the film scares — never what happens in it. This page is the full method: what each number means, how profiles are generated, and how the community verifies them.
Last updated 2026-07-28.
01
The eight axes
Five magnitude axes run 0–5, higher meaning more of the thing:
- Psychological (0–5)
- How much the fear works on your mind — dread, paranoia, a sense of wrongness. 0 means it never gets under your skin; 5 means the film is an anxiety machine.
- Visceral (0–5)
- How much the fear attacks the body — physical threat, shock, assault on the senses. Scored independently of psychological: a film can be high on both.
- Gore (0–5)
- On-screen blood and viscera, nothing else. 0 is bloodless; 5 is wall-to-wall. Gore is deliberately separate from how scary a film is.
- Lingering (0–5)
- How long the dread hangs around after the credits. 0 fades immediately; 5 follows you around for days.
- Intensity (0–5)
- The blunt total: how hard the experience hits, all sources combined. 0 is gentle by horror standards; 5 is one of the most punishing watches in the catalog.
Three spectrum axes run 0–100 between two poles — they describe a position, not an amount:
- Slow burn ↔ Jump scares (0–100)
- 0 is pure creeping dread that never startles you; 100 is a jump-scare rollercoaster. The middle means the film balances both.
- Supernatural ↔ Real-world (0–100)
- 0 is fully otherworldly — ghosts, demons, curses; 100 is fear that could actually happen. This is about the source of the fear, not the plot.
- Fun-scary ↔ Disturbing (0–100)
- 0 is horror as a good time — scares that leave no bruise; 100 is genuinely upsetting, the kind that troubles rather than thrills.
02
How a profile is made
Profiles are generated by a large language model against a calibrated rubric with fixed anchor films per axis, in one-time batch runs — never at page view. The model and prompt-rubric version that produced each profile are recorded on the row, and every profile carries the model’s own confidence score: obscure films it likely guessed at are flagged low-confidence right on the page.
Regeneration is versioned and conservative: community-corrected values are pinned and can never be overwritten by a newer generation run.
03
The no-spoiler contract
The generator is contractually forbidden from describing plot events, endings, twists, deaths, or character fates. Profiles describe texture — pacing, register, aftertaste — so you can read everything on a movie page before watching. The intensity-over-runtime curve goes further: it is hidden behind an explicit reveal, because even a pacing shape is a spoiler to some viewers.
04
How a profile gets verified
Every profile starts as AI-generated, unconfirmed — and is labeled that way on the page. Members who have seen the movie grade whether the profile fits; at a net +3 the profile flips to community-reviewed. Members can also propose per-axis corrections: when 5 distinct members agree within a tolerance band, the corrected value applies automatically and the change is logged publicly on the profile’s revision history.
Anti-abuse: consensus contributions only count from accounts at least 7days old, so a batch of fresh accounts can’t flip statuses the day it’s created.
05
Where the data comes from
Movie metadata (titles, posters, release years, credits) is synced from TMDB and never hand-entered. Streaming availability is provided by JustWatch via TMDB. Scare profiles, intensity curves, and texture summaries are THDB’s own data and exist nowhere else.
06
Honest limitations
Scare perception is personal — a 3/5 for one viewer is a 5/5 for another, and the axes measure the film, not you. AI-generated profiles can be wrong, especially for obscure films with thin source material; that’s exactly what the confidence flag and the community ladder exist for. Treat unconfirmed profiles as a good first estimate, not a verdict.