The Witcher · A Viewer's Companion
The show jumps between three timelines, kills a royal house in episode one, and then reveals that the villain empire's emperor is the heroine's own father. This chart untangles it: blue borders are Cintra's royal blood, silver is Geralt's found family (the witchers and the people who choose each other), black-gold is Nilfgaard, violet is the mages — and one amber dashed line carries the whole story: the Law of Surprise.
Every timeline jump, siege, and reunion traces back to what's on this chart.
In Season 1, a cursed hedgehog-faced knight called Duny wins Princess Pavetta's hand by the Law of Surprise; the couple later drowns at sea — or so Cintra believes. Season 2's finale detonates the truth: Duny survived, took back his stolen throne, and now rules as Emhyr var Emreis, the White Flame, Emperor of Nilfgaard. The empire that slaughtered Cintra and hunts Ciri across the Continent is commanded by her own father — and in Season 4 he'd rather parade a fake Ciri than give up finding the real one.
Ciri's power isn't random: through Calanthe's hidden elven line she descends from Lara Dorren, an elf sorceress whose gene — the Elder Blood — resurfaces in Ciri generations later. It lets her shatter monoliths, cross between spheres, and (per Ithlinne's prophecy) decide the world's fate. It's why the elves call her their hope, the mages call her a weapon, and Nilfgaard calls her the prophesied empress. Everyone on this chart wants the same girl.
An old custom: save a life, and you may claim as payment “that which you already have, but do not yet know.” Duny claimed it from Pavetta's father and got Pavetta. Then Geralt saved Duny's life at the betrothal feast and — half joking — claimed it in turn, just before Pavetta was revealed to be pregnant. That unborn child was Ciri. Geralt spends a decade refusing his “Child Surprise,” and destiny spends the whole series collecting.
Henry Cavill played Geralt for Seasons 1–3; Liam Hemsworth takes over from Season 4 (announced back in 2022). Same wig, same medallion, same “hmm.” The show waves at it with a stranger retelling Geralt's tale — then gets on with the story. He isn't the only one: Kaer Morhen's elder Vesemir was Kim Bodnia in Season 2 and is Peter Mullan in Season 4.
None of them are related, and that's the point. Destiny gave Ciri to Geralt (Law of Surprise), a djinn bound him to Yennefer, and Yennefer — who traded her fertility for beauty and power — finds in Ciri the daughter she could never have. By Season 2 they winter together at Kaer Morhen; by Season 4 every choice each of them makes is about reuniting the other two. The show's word for it is simple: family.
With the trio scattered after Thanedd, Season 4 builds each of them a substitute family. Geralt limps toward Nilfgaard with a hansa: Jaskier, the archer Milva, the dwarf Zoltan, a reformed Cahir, and the genteel vampire Regis. Ciri, calling herself Falka, falls in with the outlaw Rats — until the bounty hunter Bonhart slaughters them. And Yennefer rallies the surviving mages to Montecalvo, where Vesemir dies buying her victory against Vilgefortz.
Three timelines, two Geralts, and half the cast using aliases. Keep these apart:
One man, three names. Duny = the cursed knight who married Pavetta (S1). Emhyr var Emreis = his real name, Emperor of Nilfgaard (revealed S2). The White Flame Dancing on the Graves of his Foes = his imperial title. Every one of them is Ciri's father.
Three dark-haired sorceresses, three sides. Yennefer (violet eyes) = Geralt's love, Ciri's foster mother. Triss = the gentle Temerian mage who helped at Kaer Morhen. Fringilla = Nilfgaard's mage, Yennefer's old classmate, serially imprisoned by her own side.
Calanthe = the war-loving grandmother, the “Lioness of Cintra,” who defied destiny and lost. Pavetta = her quiet daughter, Ciri's mother, whose scream at the betrothal feast revealed the family magic — dead at sea before the series starts.
All the same face, almost. Ciri = the real princess. Falka = the alias she takes among the Rats in Season 4 (borrowed from a historical rebel). The fake Ciri = Teryn, a glamoured double Nilfgaard parades at court while the Emperor hunts the genuine article.
The two men sent after Ciri. Cahir = the black-armored knight from her S1 nightmares — who repents and joins Geralt's fellowship by S4. Bonhart = his replacement, a bounty hunter who wears the medallions of witchers he's killed. One redeemed, one pure nightmare.
Two graying V-names, opposite poles. Vesemir = the eldest witcher, Geralt's father-figure at Kaer Morhen. Vilgefortz = the celebrated mage of Sodden revealed as the true villain — the man who broke Geralt at Thanedd and kills Vesemir at Montecalvo.
Geralt's witcher “brothers.” Eskel = the one infected by a leshy and mercy-killed in S2 (game fans, brace yourselves). Lambert = the sarcastic one who resents everything. Coën = the kind one who spars with Ciri.
Season 4's two road crews. The Rats = teenage outlaws (Mistle, Giselher, Kayleigh & co.) who adopt Ciri — robbing the rich, dying young. The hansa = Geralt's mismatched rescue fellowship: a bard, an archer, a dwarf, a penitent knight, a vampire.

Sorceress of Temeria. Nursed Ciri's early research at Kaer Morhen in S2, and fights beside the witchers at Montecalvo in S4.

Hero of Sodden Hill in S1, unmasked in S3 as the true villain: Nilfgaard's secret ally, Geralt's breaker at Thanedd, Vesemir's killer at Montecalvo.

Yennefer's first love, a scholar of monoliths. Duped into serving Vilgefortz's portal scheme, he undoes it in S4 by overloading the monoliths — at the cost of his life.

Cintra's druid and Calanthe's advisor; Ciri's first protector on the run — killed and impersonated by a doppler in S1.

Redania's spymaster, scheming to seize Ciri for his own kingdom — one half of the show's most watchable double act.

The other half: Redania's sorceress, who scouts the Continent as an owl and always has one more plan than Dijkstra.
Portraits are stills from the Witcher wiki's pages for the Netflix series, cropped and served from this site so nothing hotlinks a third party. Where a character has appeared with more than one face, the newest one is shown — Geralt wears Liam Hemsworth's, Vesemir Peter Mullan's. Chart reflects the Netflix series only (not the books or games), through the end of Season 4 — spoilers to there.