The honest answer: Riot does not tell you

There is no playtime counter in the Riot Client. League of Legends does not show lifetime hours. Valorant does not show lifetime hours. Teamfight Tactics and Legends of Runeterra do not either. This is not a hidden menu - the number is simply not exposed.

What Riot does expose is match history, and only a recent window of it. That is the raw material behind every workaround below.

What the third-party sites are really doing

Tracker sites estimate your hours by counting matches and multiplying by an average match length, sometimes refined by queue type. It is a reasonable approximation of time in games, and it systematically undercounts your actual time in the client.

Everything outside a match is invisible to that method: champion select, queueing, dodges, post-game screens, browsing the shop, watching cosmetics, sitting in the lobby with friends. For a game where you can easily spend fifteen minutes per match outside the match, the gap is substantial. These sites also depend on account lookups, region support, and API access that changes over time.

Old League accounts have another problem

Match history retention is limited. If you started playing League in 2014, no service can reconstruct those years from data Riot no longer serves. Any "total hours" figure for a long-lived account is a partial estimate of a partial record.

Measure the client directly instead

A process-based tracker sidesteps the whole problem. PlayCounter records the time the game client is actually running on your PC. That includes queue time, champion select, and everything else the match-count method cannot see, and it does not depend on Riot's API, your region, or your account being public.

Two things to know. Riot games run through the Riot Client, which starts the game as a separate process, so an initial one-time confirmation may be needed to tie the right executable to the right game. And this only measures forward from installation - it cannot recover the years already played.

What you get in exchange is a real, continuously growing number for League or Valorant next to the same number for every other game on the PC, held locally and tied to no account.