AimFinder

Analyzing a Valorant replay (.vrf): what it can and cannot measure

Updated September 26, 2026 · 6 min read · by the AimFinder team

Valorant records a replay of every competitive, unrated and premier match. Those .vrf files contain 128 samples per second of every player’s view angles and positions — enough to reconstruct how you flicked onto each kill. Here is where the files are, what an analysis can honestly measure, and what it cannot.

Where the replay files are

The game writes replays automatically to VALORANT/Saved/Demos — on Windows %LOCALAPPDATA%\VALORANT\Saved\Demos — one .vrf file per match, typically 50–80 MB. The Range and custom games are not recorded, and old replays are rotated out after a while, so copy the ones you want to keep. Upload the file as it is; no unpacking or renaming is needed.

What is inside a .vrf

A replay is not a video: it is a network recording in Unreal Engine’s replay container, with a Riot-specific header and encrypted content. Riot does not document the format; the open-source vrfkit parser decodes it into tables of movement samples (position, yaw, pitch at ~128 Hz), events (kills, round timeline) and replicated game state. AimFinder runs that parser on its server and reads the tables back.

Because the format is reverse-engineered per game build, a replay from a build the parser does not support yet fails to parse until the parser is updated — a limitation CS2 demos, whose format is public, do not have.

What the analysis measures

  • Flick size — the angle between where your crosshair sat before the fight and where it was when you fired the first shot of the killing burst (the replay records every shot, so a spray measures the flick, not the recoil pull).
  • Overshoot / undershoot — how far your first ballistic movement travelled relative to that angle. Aggregated across kills, it is your systematic sensitivity bias.
  • Correction time — from the end of the first movement to the kill.
  • Crosshair placement — the angular error to the victim’s head when the fight started, split into horizontal and vertical components.
  • Engagement time and distance, the weapon, and whether the killing bullet was a headshot — all read from the replay’s own damage events.

Kills where no flick exists — pre-aimed micro adjustments, smooth tracking kills, ability kills, shots through a wall — are shown but excluded from the bias, exactly as in the CS2 pipeline.

What it cannot measure

  • Your mouse. A replay records camera angles at 128 Hz, not mouse counts. Sub-sample detail is reconstructed, not observed; the in-browser test with raw input is the confirmation step.
  • Names. Replays store account identifiers and agent picks; the roster is listed by agent and kill count, and your pick is remembered.

From replays to a sensitivity

Each replay is interpreted at the sensitivity and DPI you declare for that match. The median overshoot maps to an implied optimum through the same motor-control model the finder validates, and the propositions page pools every Valorant replay you uploaded, weighting by measurable kills and grading the confidence. Two or three recent matches make a trustworthy average; then verify the proposal with the 10-minute test.

Privacy

The replay file is deleted right after parsing. Only the per-kill numbers of the player you selected are stored, tied to your account so your reports stay available; deleting the account removes everything. Nothing runs alongside the game — Vanguard never sees any of this.