StintLabEvery lap, understood.Join the waitlist

Sim racing telemetry · one Windows app · your PC only

Find the thousandth you already drove.Where did 0.001 s go? To the metre, every lap, F1 25 and Assetto Corsa.

You drove sixty laps tonight. One was your best, a few were quicker in places than the best one, and you have no idea which. StintLab records every lap you drive, keeps it on your own disk for good, and shows you exactly where the time went — lap against lap, against a faster driver's lap, and against the driver you were in June.

$19.99 USD, once for the 2026 edition · no subscription, no account, nothing uploaded

MonzaLAP 2 · SECTOR 1
1TARGET0.000————
2YOU0.000+0.000———
synthetic test laps · one clock for both cars
THR
BRK
Gap to target+0.000 slevel with the target
Your lap0.000target 1:20.243
Gap over the lapS1S2S3

CLOCK 0.0 s · SECTOR S1 · 0 m · Monza

0 mbetween trace samples at the finest — laid by distance, so every lap shares one axis
0.000 sthe resolution of every lap time, exactly as the game reported it
0bundled full-GP circuit outlines, for F1 laps recorded without position data
0newest laps carried by the viewer page, in whole races — every lap stays on disk
0bytes uploaded. There is no server, no account, nothing to sign in to
S1 ·Why a fast lap is not enough

The game gives you a lap time. It never says why.

A time is a score. It tells you the evening went well or badly and nothing about what to do differently next time. Four things go missing the moment you leave the session.

The lap is goneQuit the session and the telemetry goes with it. Tomorrow you cannot compare against tonight, so every evening starts from nothing.
You can't see the cornerYou lost four tenths somewhere. Knowing it was the braking zone at 1,240 m and not the one at 3,100 m is the whole difference between practising and just driving.
Your best isn't your limitYour quickest sector one and your quickest sector three happened on different laps. Added up they are a lap you have already proved you can drive.
A season has no memoryAre you actually quicker than in June, or does it just feel that way? Without every session on disk there is no answer.
S1 ·The lap as a graph

Scroll, and drive it.

Your speed over the lap in orange, the target's in cyan, and under them the strip the app draws: red blocks where time went, blue where it came back. The same two laps as the circuit above.

0100200300S2S3S10 m5,793 m
you 320 km/htarget 320 km/hat 0 mgap +0.000 sscroll to drive the lap
S2 ·What you actually look at

Four screens, in the order the questions come.

Every screenshot on this page is a page StintLab itself built — the same code that renders yours, fed synthetic test laps. Not a mockup, and not presented as a driver's record.

StintLab's races list: one row per session with date, circuit, game, car, conditions, laps driven, best lap, theoretical best and top speed.
Question one

Which session was it?

Nobody remembers a session ID. The way back in is the evening and the circuit, so that is what the list is: one row per race — when, to the minute and in your own timezone; where; the game, car and conditions; laps driven, with how many were invalid, out-laps or untraced beside the count; best lap, theoretical best and top speed.

Narrow it to one circuit or one date, or type part of a track, car or game name. The page carries your newest 200 laps in whole races — never half a race — and you can raise that to 2,000 in settings. Every lap stays on disk, and the target search below reads all of them.

Two laps overlaid: speed, delta, throttle and brake traces down the page, with the delta trace marking the corner where one lap gained 0.994 seconds on the other.
Question two

What did I do round that lap?

Tick two laps and they overlay on one distance axis: speed, the delta of one against the other, throttle, brake and gear, with the sector boundaries drawn under every panel and the worst and best points of the delta labelled to the thousandth. One crosshair moves across all five charts at once, reading both laps at the metre you are hovering.

Underneath, a braking table for every zone of the lap: where you hit the pedal, entry speed, minimum speed and the gear you were in at it, peak brake, how long the zone was and how long you were on the pedal. With two laps it adds how many metres later or earlier you braked and how many km/h quicker or slower you were at the slowest point.

Traces are sampled by distance — a sample each time the car has covered 5 m or more — rather than every few milliseconds, so every lap lands on the same axis whether the game sends 10 or 60 times a second. Two laps land on one axis, so the delta between them is a subtraction, not a guess. Tick one lap instead of two and you get it on its own, with every braking zone.

The printable lap report: best lap, theoretical best, optimal lap, time available and consistency tiles above a table of laps with sectors.
Question three

Where is the time, and how much?

The report answers the session. Best lap and theoretical best, then the optimal lap — the quickest you got through each 100 m, added up. Not a lap anyone drives end to end, but a floor, because every piece of it already happened.

Then time available, and where: the five 100 m stretches where your best lap gave away 50 ms or more to the quickest anyone drove that stretch this session, each with the lap that drove it best. Your consistency — the spread from your quickest counted lap to your slowest — and which sector is leaking, measured against your own best of that sector. Under the numbers, a short debrief in plain sentences, each printed only when the number behind it exists.

No JavaScript on that page at all, and it is laid out for paper: black on white, one session per sheet, table headers repeated. It lays out your 20 newest sessions and says so — “20 of 63” — while the all-time record above still counts every one. A lap-times.csv for the same sessions lands beside it.

The 'Your driving' summary: time on track, laps, sessions and biggest gain, a laps-per-week chart, and a table of every circuit with personal best and improvement.
Question four

Am I actually getting quicker?

Every session at once, as one record: time on track, read as 4 h 12 m; laps, and how many counted; sessions, and the days you drove them on; a laps-a-week chart for the last 26 weeks you drove, with idle weeks drawn as empty bars rather than skipped; and a table of every circuit — up to 40, most driven first — with your personal best and how much you have found since your first counted lap there.

This is the screen a season buys you, and the one no in-game menu will ever show you, because the game forgot June.

Time on track is the sum of your recorded lap times, scruffy ones included — a figure that only counted clean laps would quietly delete the half of the evening where you were learning the circuit. If you have found nothing at a circuit yet, it shows a dash, not a number.

S2 ·Question five · F1 25 laps

Will the tyres and the fuel last?

A race is not a string of qualifying laps. New F1 25 laps — in either telemetry format — also keep what the game knows about your fuel, your tyres and your pit stops, lap by lap, so the strategy question has numbers behind it.

The Fuel, tyres and pit stops panel: fuel at last reading with kg per lap and the game's MFD estimate, tyre compound with per-wheel wear and inner temperatures, pit-stop count with lane and stationary time, and a lap-by-lap fuel and tyre history table.
The panel as the app draws it, from a synthetic three-lap test session with one pit stop. Below the three cards sits the lap-by-lap table — fuel left, fuel used, tyres, age, max wear, pit lap — and the same figures appear in the printable report.
What is capturedFuel at the first and last reading of each lap and the fuel used over the captured distance, plus the game's own MFD estimate. Tyre compound, set age, per-wheel wear and inner temperatures. The game's pit-stop count, each pit-lane visit with its lane time and stationary time, and any penalty served. A visit that spans the timing line is counted once, on exit.
How the maths is kept honestTypical consumption is the median of laps that covered at least 98% of the circuit with no pit visit and no refuelling. Wear and temperatures are the last fresh reading, not lap averages. Change tyres and the old set's wear is discarded, not carried. A flashback inside a lap drops the fuel and pit readings from before the rewind rather than doubling them.
Pit laps stay, but never set the paceA lap that went through the pits is kept in the history and marked. It never sets a pace target, a best sector, the consistency figure, the optimal lap or a coaching plan — the in-lap that cost you nine seconds is not a corner you need to practise.
Read this before you count on itThis comes from the game's Car Status, Car Damage, Car Telemetry and Lap Data packets on F1 25 laps only; Assetto Corsa laps and older recordings show “Not recorded”. The packet layouts are pinned by synthetic test fixtures and have not yet been verified against a live F1 25 session on a racing PC. The waitlist email will say when they have.
S3 ·The part that makes you quicker

Chase a target lap.

Seeing the loss is half of it. The other half is having something to chase and knowing which sections — at most three, ranked by what they cost — to spend the evening on.

It finds the target for youOpen a session and the Your next goal panel already holds the fastest valid, fully traced lap in your whole history for that game, track, car, weather, session type, telemetry format, game version and assist settings — even from a race that has dropped off the 200-lap page. Press Study this target.
Up to three sections to practiseThe official lap-time gap, a strip of gains and losses every 100 m, and any run of blocks losing 20 ms or more becomes a section, ranked by what it cost. Each one says how many metres later or earlier you braked than the target, your minimum speed against theirs, and your exit speed and throttle against theirs at the same metre — then one drill. Click a section and every chart jumps there.
Play the lap backReplay at 1×, 2× or 4×, clocked from the lap's own elapsed-time trace, or drag to any metre of it. On an F1 lap a marker rides the line the game's position packets recorded, with the sections that lost time painted red on the circuit and gains blue; a stretch the game did not report stays blank rather than guessed. Assetto Corsa laps have no map.
Import a faster driver's lapLaps → Import reference lap… takes a coach's or a mate's StintLab lap file and checks it the way it checks your own — a full, valid lap with a complete trace, under 8 MB — before it becomes a target. It lives in its own references folder, never counts as your driving and never sets your personal best. Your own lap files are the same format: send someone lap_7.json and they can chase you.
Same car, same track, same weatherMismatched games, tracks, cars, weather, session types, telemetry formats, game versions, formula and assists — steering, braking, gearbox, ERS, DRS and the racing line — are kept apart, and the track length has to agree within 20 m. Track temperature is not matched; if it differed, the plan says so in a line under the sections rather than leaving you to chase a gap that was really the day.
Described, not promisedEvery plan carries the line “Fuel, tyres and setup may differ. These are observed gaps, not promised gains.” It never promises that a loss it shows you is a tenth you can have.
Your laps, not a leaderboardTargets come from your own recordings and laps you import by hand. StintLab does not fetch online leaderboards or certify anyone's time.
S3 ·Numbers you can trust

It won't flatter you.

Any tool can show a driver a big number. StintLab prints a dash instead when the number is not real, and it says why.

Swapped car? No gain claimedFinding two seconds in a faster car is not two seconds you found, so the figure is withheld and the table says why: “first driven in a Williams, best set in a Ferrari”. Your personal best still stands.
One session is no trendYour best at a circuit stands from lap one; the improvement figure reads “one session here so far” until a second session there has a counted lap. Inside a session, “you got quicker” or “you dropped off” is only said once there are four counted laps to split into halves.
Two games are two tracksAn Assetto Corsa Monza lap and an F1 Monza lap are never compared — merging them would invent a twenty-second gain. In Assetto Corsa each layout is its own track too: Silverstone GP is not Silverstone National.
Withheld, not fakedNo theoretical best unless every counted lap's sectors add up to its time within 100 ms. No optimal lap if any 100 m of the circuit was never covered. No consistency figure from one lap. No delta between two laps that do not cover the same track. Replay switched off, with a note, for a lap whose time trace is incomplete.
Out-laps and binned laps are listed, never countedEach is marked for what it is — “out-lap”, “invalid”, “no telemetry” — and none sets a best, an average or a sector best. Cut a corner anywhere on an F1 lap and it stays invalid to the line, even if the game clears its own flag first.
A lap time is never inventedEvery time is the one the game reported, to the millisecond. Quit straight to the menu and the lap the game had already timed is still written; a lap the game never timed is dropped, and the log says so.
A wrong lap time is a bug, not a roundingThe 2026 Season Pack layout added two cars to the grid and changed the size of four per-car entries StintLab reads. StintLab checks every Lap Data, Participants and Car Telemetry packet against the length its layout predicts; one mismatch and it stops reading that format for the rest of the run, turns the tray badge amber and tells you to switch the game to F1 25 — rather than filing a season of quietly wrong times.
Nothing on the wire can crash itA truncated or garbage packet is dropped with a log line, never an exception, and a torn shared-memory read skips one poll. One half-written lap file is skipped and noted; it never stops the laps page or the report from opening.
MelbourneSakhirShanghaiCatalunyaMonacoMontrealPaul RicardAustriaSilverstoneHockenheimHungaroringSpaMonzaSingaporeSochiSuzukaTexasMexicoBrazilAbu DhabiImolaPortimaoZandvoortJeddahMiamiLosailBakuLas Vegas
S3 ·What it runs on

Supported, plainly.

Windows 10 and 11, 64-bit. The program goes to %LOCALAPPDATA%\Programs\StintLab and your laps to %LOCALAPPDATA%\StintLab — no administrator prompt, and no antivirus exclusion to set up.

GameHowSetup on your PC
F1 25 UDP telemetry, port 20777Settings → Telemetry Settings → UDP Telemetry On · UDP Broadcast Off · IP 127.0.0.1 · Port 20777. UDP Format F1 25 or F1 25: 2026 Season Pack — both are read. Earlier F1 games send a different format and are not read.
2026 Season Pack format Its own packet layout, with a self-checkRead natively: 24 cars instead of 22, and four per-car entries that changed size. Every Lap Data, Participants and Car Telemetry packet is measured against the size the layout predicts, and a mismatch stops the format rather than recording a wrong time. Not yet confirmed against a real 2026 session on a racing PC — if in doubt, the in-app Setup check suggests the F1 25 format.
Assetto Corsa Shared memoryNothing to switch on. Start the game before or after StintLab; it looks every 5 seconds and reads ten times a second once the game is there. Each track layout is its own venue, and every lap records its tyre compound and driving aids. Two things it does not get: weather and temperatures, and a circuit map.
Assetto Corsa CompetizioneSame shared-memory layoutCompetizione publishes the blocks StintLab reads, but it has not been checked against the real game, so it is not on the supported list yet. When it is, the waitlist email will say so.
S3 ·How it lives on your PC

One window. One badge in the tray.

StintLab opens in its own Windows window — the lap viewer, maps, coaching and reports in one place — and keeps recording when you close it. While you drive, the only thing on screen is a small logo by the clock.

Close it, and it keeps recordingClosing or minimising the window leaves StintLab running in the background. Its logo stays in the system tray with a status badge: grey waiting for a game, green recording, amber something needs a setting changed, red it cannot write to its own folder. Hover for the status — “recording F1 · 7 laps recorded” — click to reopen. Only Quit StintLab or a Windows shutdown stops it and writes the final lap.
Open it twice, get oneLaunch it again — from the desktop, the Start Menu or the tray — and the existing window comes back with the laps you recorded since. There is never a second copy competing for the telemetry port.
Paper when you want itView → Session report, then Print / Save PDF… and choose Save as PDF in the print window. Every page StintLab builds is also a self-contained HTML file on disk that opens in any browser, on any machine.
Nothing over the gameNo console window, no overlay, no pop-ups while you drive. If Windows tucks the logo into the tray's ^ overflow, drag it beside the clock. If the tray icon cannot load, StintLab stays available as a minimised taskbar window.
S3 ·Why there is nothing to sign in to

Your laps are files you own.

A lap is written to disk the moment the game reports its time — one JSON file per lap. That file is the database: no queue, no sync, nothing to reconcile, and no connection that can be down.

No accountNothing to register, nothing to log into, no email required to drive a lap.
Nothing uploadedThe app makes no outbound connection — no server, no analytics, no licence check. The one time anything in the box touches the internet is Setup fetching Microsoft's WebView2 runtime if your PC lacks it, once.
Nothing deletedStintLab keeps every lap unless you set keep_sessions in settings; then the oldest sessions beyond that number are removed whole at the next start — never half a session.
Nothing expiresThe edition you bought keeps working because there is nothing in the app to stop it: no licence key, no activation, no check that phones home. The edition exists only in the version number — 2026.1.0 is the 2026 edition, fix level 1.0.

Your laps live at %LOCALAPPDATA%\StintLab\traces\<session>\lap_<n>.json, roughly 50 KB each at the default 5 m sample spacing, beside the log, the settings file and the generated pages. Laps → Open saved laps folder takes you there; copy that folder anywhere and the season is backed up. Point STINTLAB_HOME at a USB stick and everything lives there instead. There is nothing you have to configure, but an optional settings.toml has six keys — switch either game off, move the F1 port, set the trace spacing, cap sessions kept, cap laps per page — and a typo in any of them falls back to the default rather than costing you the evening's laps.

PIT LANE ·Pricing

One payment. One edition. Yours.

Each F1 game ships a new telemetry layout, so StintLab is sold by edition — the edition is the year of the games it reads. The 2026 edition keeps working on the games it supports, for good.

StintLab 2026 Edition$19.99 USD · once
  • Every lap recorded and kept, for good — out-laps and binned laps included, each marked for what it is
  • Races, laps and sectors, with weather and temperatures on F1 laps and tyre compound and aids on Assetto Corsa laps
  • Two-lap overlay — speed, delta, throttle, brake, gear — with sector bands and a braking-zone table
  • Chase a target lap: the gap every 100 m, up to three sections to practise, replay at 1×, 2× or 4×
  • Circuit map on the line the game recorded, losses coloured (F1 laps)
  • Fuel, tyres and pit stops, lap by lap (F1 25 laps)
  • The printable report: best lap, theoretical best, optimal lap, time available, consistency, debrief
  • Your driving — the all-time record across every session
  • Reference lap imports · lap-times.csv · Setup check · one Windows app with a tray badge

No subscription. No account. One payment, one download, and it runs offline for as long as you own the PC.

What $19.99 is measured againstAbout what a subscription telemetry tool charges for a month or two — paid once. There is no third month, and every lap you record with it is yours whether or not you ever pay again.
PARC FERMÉ ·Four minutes, on launch day

From download to your first lap.

  1. Run StintLab-<version>-Setup-x64.exe.One download, with a .sha256 beside it if you want to check it. Preview builds are not code-signed, so Windows SmartScreen may say the publisher is unknown — More info → Run anyway.
  2. Follow Setup.It installs to your own user folder — no administrator prompt — and adds a Start Menu entry, a desktop shortcut and an uninstaller. Tick Start minimized when I sign in if you want it recording before the game is up. Python is included. If your PC lacks Microsoft WebView2, Setup fetches it from Microsoft; that one step needs an internet connection.
  3. Switch telemetry on in your game.F1 25: UDP Telemetry On, UDP Broadcast Off, 127.0.0.1, port 20777, UDP Format F1 25 or 2026 Season Pack. Assetto Corsa needs nothing at all.
  4. Open StintLab, drive a lap, then View → My laps.Seeing nothing? Help → Setup check lists four things — StintLab, your laps folder, F1, Assetto Corsa — each as Working, Needs attention or Not seen yet, with the exact in-game menu path to change and when telemetry last arrived. It is the first thing to open, not the last.

Already running another telemetry tool on port 20777? Only one program gets each of the game's packets on a port. If Windows refuses StintLab the port, Setup check says so — but Windows does not always refuse, so if laps stop appearing, close the other tool, or move StintLab to another port in settings.toml and set the same port in the game. Assetto Corsa keeps recording either way. If Windows Firewall asks about StintLab on first run, allowing it on private networks is enough — the game sends to the same PC. Uninstall from Windows Settings → Apps → StintLab; your laps stay where they are.

PARC FERMÉ ·Before you ask

Straight answers.

Why pay $19.99 when there are free telemetry tools?

Because the free ones stop at the trace. Reading a speed graph is a skill; StintLab is built to answer a question instead — which section, how much, and what to practise next — and to still have your June laps in September so the answer includes whether any of it worked.

It is one payment against a category that mostly charges monthly. Three seasons in, a subscription has cost more and you own nothing.

Is it a subscription? Does it stop working?

No, and no. One payment for the edition, and the edition keeps working on the games it reads. There is no server to switch off, no licence check phoning home, and nothing that can lock you out of laps you already drove.

What happens when the next F1 game comes out?

A new game means a new packet layout, so it means a new edition. Your 2026 edition keeps reading F1 25 in both its formats, and Assetto Corsa, and keeps every lap you recorded with it. Waitlist members will be told the upgrade price before launch rather than finding out at a paywall.

Does my telemetry leave my PC?

No. The app makes no outbound connection — there is no server, no account and no upload. Your laps are plain JSON files, one per lap, that you can open in Notepad, and the pages StintLab builds are self-contained HTML with no CDN and no fetch in them. The only time anything touches the internet is Setup fetching Microsoft's WebView2 runtime if your PC does not have it, and paying for StintLab, which happens on this website, not in the app.

Is the download signed?

Not yet — preview builds are unsigned, so Windows SmartScreen may show “publisher unknown” on first run. A SHA-256 checksum is published beside every download. Installing needs no administrator rights: it goes into your own user folder and shows up in Windows Settings → Apps with an uninstaller.

Is the 2026 Season Pack format really supported?

It is read natively, with a self-check: every Lap Data, Participants and Car Telemetry packet is measured against the size the 2026 layout predicts, and one mismatch stops the format rather than recording a wrong lap time. The layout has not yet been confirmed against a real 2026 session on a racing PC, which is why the in-app Setup check suggests the F1 25 format if you are in doubt. Both formats record every lap, and both carry the fuel, tyre and pit-stop data.

Assetto Corsa Competizione?

Not on the supported list yet. Competizione publishes the shared-memory blocks StintLab reads, but it has not been checked against the real game and it is not sold as supported until it has. Assetto Corsa is.

Will it work on a controller, or without a wheel?

Yes. StintLab reads what the game broadcasts, so it does not know or care what you are steering with. Assists are recorded with every lap — steering, braking, gearbox, ERS, DRS and the racing line in F1; stability control, auto clutch, auto blip, tyre blankets and the ideal line in Assetto Corsa. In F1 they are part of the match, so a lap driven with the racing line on is never offered as a target for one driven without it; in Assetto Corsa they are recorded but not matched yet, so check a target's aids yourself. You can still tick any two laps of a session and overlay them yourself.

Mac or Linux?

Not today — it is a 64-bit Windows app, Windows 10 and 11. The pages it generates open in any browser on any machine, so the reading half is portable even though the recording half is not.

Can I get my money back?

Yes. The honest version of a refund for software like this is: try it on one evening of driving, and if it does not tell you something you did not know, ask for the money back.

Refund policy →

PADDOCK ·Free guides

Read a lap like an engineer.

How sim racing telemetry works, how to read it, and how to turn it into lap time — for anyone racing at home on any rig, and for F1 fans who want to understand what they are watching. Worked examples are computed by StintLab's own analysis code.

All 19 guides, from setting up telemetry to reading sector colours →