2025 Public F1 telemetry files - TracingInsights.com
Analyze/Visualize the data at f1tel.com or TracingInsights.com
Ask AI about this repo/data
2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | Historical Data | Pitstops | Download Data in CSV | Data Page
Every session folder has a corners.json describing the circuit layout as parallel column lists. Distances are resolved against the session's fastest lap.
- Corners:
CornerNumber,CornerLetter,CornerLabel(e.g.1,1A),X,Y,Angle,Distance(meters from the start/finish line),MVDistance(MultiViewer's own fixed distance),Rotation. - Sections:
Sectiongives each corner's speed regime ("Straight","Low","Medium"or"High"). The bands themselves are inSectionType,SectionStartPercent,SectionEndPercent,SectionStartDistanceandSectionEndDistance, one entry per band. They come from the curatedsections/<circuit>.jsonfiles (percent of lap distance). The Chinese, Japanese and Las Vegas Grands Prix have no breakdown yet, so their band lists are empty andSectionisnull. - Marshal lights / sectors:
MarshalLight*andMarshalSector*(Number,X,Y,Angle,Distance,MVDistance). - Circuit:
CircuitKey,CircuitName,Location,CountryName,CountryKey,CountryIocCode, and pit-loss estimatesPitLossNormal,PitLossSC,PitLossVSC. - Layout source:
LayoutYear,LayoutRound,LayoutRaceDate,LayoutMeeting*,LayoutLap*. MultiViewer doesn't publish every season, so the newest available layout is used, and these fields say which one. - Track outline:
TrackXandTrackY(plot one against the other to draw the track map), plusTrackTimeandMiniSectorIndex.
Missing values are null. List fields that MultiViewer doesn't provide for a circuit are empty arrays.
Official Formula 1 images live under images/. Paths are built from the team and driver fields of drivers.json:
| Folder | Contents | Source |
|---|---|---|
images/drivers/<team>/<driver>.webp |
Full-body driver cutout (transparent WebP, 1229 × 3840) | formula1.com/en/drivers |
images/headshots/<team>/<driver>.png |
840 × 840 headshot: the source asset behind the thumbnail that the url field in drivers.json links to |
media.formula1.com |
images/cars/<team>.webp |
Car side view (transparent WebP) | formula1.com/en/teams |
Every file is the original asset from media.formula1.com, not resized or re-encoded. Images are keyed by driver and team because pairings changed mid-season. Yuki Tsunoda and Liam Lawson swapped seats after two rounds, so the folder has both Racing Bulls/TSU.webp and Red Bull Racing/TSU.webp, and the same pair for LAW. images/manifest.json lists every file with the driver's name, pixel size and source URL. Reserve and test drivers exist on the host only as 128 × 128 images, so that is the size saved for them. Headshots exist only for drivers with a url in drivers.json.
curl -L -o VER.webp "https://raw.githubusercontent.com/TracingInsights/2025/main/images/drivers/Red%20Bull%20Racing/VER.webp"To refresh the images, run python3 download_images.py. Add --force to re-download everything, or --only cars for a single set.
Team radio clips published by OpenF1 are saved as MP3 files in each driver's folder. Each session also has an index:
| Path | Contents |
|---|---|
<event>/<session>/<driver>/radio/<file>.mp3 |
Original team radio recording from the F1 live timing archive |
<event>/<session>/team_radio.json |
Every clip of the session in time order: driver, driver number, UTC date, local file path and source URL |
Only clips that F1 broadcast are available, so most sessions have between a handful and a few dozen messages. LapTimes.py downloads the radios for each session it processes. To backfill the whole season, run python3 team_radio.py. Files that already exist are skipped.
Every push to this repository creates a GitHub release with a semver tag (e.g. 2026.288.1, made from <year>.<day-of-year>.<build> of the release date). You can fetch any file through jsDelivr, pinned to that release:
https://cdn.jsdelivr.net/gh/TracingInsights/[email protected]/Australian%20Grand%20Prix/Race/corners.json
For the latest data, look up the current release tag first. Both requests are fast and CORS-enabled:
const release = await fetch(
"https://api.github.com/repos/TracingInsights/2025/releases/latest"
).then(r => r.json());
const url = `https://cdn.jsdelivr.net/gh/TracingInsights/2025@${release.tag_name}/Australian%20Grand%20Prix/Race/corners.json`;TAG=$(curl -s https://api.github.com/repos/TracingInsights/2025/releases/latest | jq -r .tag_name)
curl -L "https://cdn.jsdelivr.net/gh/TracingInsights/2025@${TAG}/Australian%20Grand%20Prix/Race/corners.json"If you don't need a pinned release, you can use a branch directly (cached for 12 hours):
https://cdn.jsdelivr.net/gh/TracingInsights/2025@main/Australian%20Grand%20Prix/Race/corners.json
Note: jsDelivr serves individual files up to 20 MB. The latest release tag is also available from jsDelivr's own API:
https://data.jsdelivr.com/v1/packages/gh/TracingInsights/2025/resolved?specifier=latest
Data availability timeline:
- Practice sessions: Approximately 30 minutes after session completion
- Qualifying sessions: Approximately 30 minutes after session completion
- Sprint races: Approximately 30 minutes after race completion
- Grand Prix races: Approximately 30 minutes after race completion
All telemetry data is processed and made available as quickly as possible after each session concludes.
Tip: For race weekends, check back shortly after each session to access the latest data. Historical data from previous seasons is available immediately.
You can analyze comprehensive telemetry data including:
- Speed (km/h)
- Throttle input percentage
- Brake application
- Gear selection
- DRS activation zones
- Lateral acceleration (G-forces)
- Longitudinal acceleration
- Track elevation changes
- Engine RPM
- Vertical acceleration
Fuel Correction is a feature that adjusts lap times to account for the changing weight of fuel in Formula 1 cars during a race. As cars burn fuel, they become progressively lighter, resulting in naturally faster lap times even without any improvement in driving or track conditions.
- Weight impact: Each kilogram of fuel adds approximately 0.03 seconds per lap to a car's time
- Race strategy analysis: Helps distinguish between genuine pace improvements and those simply due to fuel load reduction
- Fair comparison: Enables meaningful comparison between laps from different stages of a race
- Performance evaluation: Provides a clearer picture of true car and driver performance throughout a race
Corrected Lap Time = Original Lap Time - (Fuel Weight Effect)
Where:
Fuel Weight Effect = Remaining Fuel (kg) × 0.03 seconds
Remaining Fuel = Initial Fuel × (1 - Current Lap / Total Race Laps)
The calculation uses these standard assumptions:
-
Initial fuel load:
- Full Race: 100kg
- Sprint Race: 30kg
-
Fuel consumption: Linear usage throughout the race (equal amount burned each lap)
-
Performance impact: 0.03 seconds per kilogram of fuel per lap (industry standard approximation)
- Early race laps: Will show faster corrected times than their actual times (compensating for heavy fuel load)
- Mid-race laps: Will show moderate correction
- Late race laps: Will show minimal correction (as cars are already light on fuel)
- Comparing drivers: Reveals true pace differences independent of fuel load advantages
- Stint analysis: Helps identify genuine tire degradation separate from the fuel weight effect
- Race pace analysis: When comparing laps from different stages of a race
- Strategy evaluation: When analyzing the effectiveness of different pit stop strategies
- Driver performance: When assessing a driver's consistency throughout a race
- Team comparisons: When comparing the race pace of different teams
Note: Fuel correction is an approximation based on standard assumptions. Actual fuel loads and consumption rates may vary between teams, cars, and race conditions. The correction provides a useful analytical tool but should be considered alongside other performance metrics.
The Elevation Chart is a critical tool for verifying data integrity and alignment between different drivers' telemetry. Since track elevation is a fixed geographical feature, all drivers should show nearly identical elevation profiles regardless of their performance.
- Reference alignment: Track elevation is a constant physical property that all cars experience identically
- Data synchronization check: Misaligned elevation profiles immediately indicate synchronization issues
- Error detection: Helps identify corrupted or incorrectly processed telemetry data
- Baseline verification: Establishes confidence in the reliability of other telemetry channels
- Visual inspection: Compare elevation profiles between multiple drivers - they should closely overlap
- Pattern matching: Look for consistent peaks and valleys across all selected drivers
- Offset detection: Check for horizontal shifts that indicate distance measurement errors
- Anomaly identification: Identify unusual spikes or drops that may indicate sensor errors
- Horizontal misalignment: Indicates distance measurement or synchronization errors
- Vertical scaling differences: May indicate drivers going over kerbs/bumps
- Missing segments: Reveals data gaps or transmission failures during recording
- Noise or jitter: Can indicate sensor interference or data processing problems
- Complete mismatch: Suggests incorrect lap selection or major data corruption
Pro tip: Always check the Elevation Chart first before analyzing other telemetry channels. If elevation profiles don't align properly, it's a strong indication that other telemetry comparisons (speed, throttle, braking) may be unreliable for that particular dataset.
Note: Minor variations in elevation data between drivers are normal due to sensor precision and sampling rates. However, significant differences that alter the overall profile shape indicate data integrity issues.
TracingInsights provides comprehensive Formula 1 data archives from 1950 to the present day, organized by season. Our data is collected from various sources including the Ergast/Jolpica API and F1 official feeds via FastF1.
- Telemetry data: Detailed car performance metrics including speed, throttle, brake, DRS usage, and acceleration
- Race results: Complete race classifications, finishing positions, and points for all seasons
- Lap times: Detailed timing information for every lap by each driver
- Pit stops: Timing and duration of all pit stops during races
- Weather data: Track and ambient conditions for different circuits and races
- Penalty points: Current penalty point standings for each driver
- Historical statistics: Complete race results database from 1950 onwards with driver and constructor standings
Disclaimer: This data is provided for free. TracingInsights is not affiliated with Formula 1, FIA, or any F1 team. All trademarks belong to their respective owners.
What kind of data is available in these repositories?
Our repositories contain various types of Formula 1 data including:
- Detailed telemetry data (speed, throttle, brake, DRS)
- Acceleration data (lateral, longitudinal, vertical)
- Technical data (RPM, gear, elevation)
- Race results and qualifying times
- Lap times and pit stop information
- Driver and constructor standings
The data is organized by season and follows a consistent format for easy access and analysis.
Can I use this data for my personal projects?
Yes, you can use this data as you wish. We encourage creative use of the data for:
- Data analysis and research
- Visualization projects
- Academic work
- Personal applications
If you publish or share your work, attribution to TracingInsights is appreciated but not required.
How often is the data updated?
For current seasons, we typically update the data 30 minutes after each session of a grand prix. Historical seasons are complete and won't receive further updates unless corrections are needed.
I found an error in the data. How can I report it?
If you find any errors or inconsistencies in our data, you can:
- Open an issue on the relevant GitHub repository
- Contact us through our contact page
We appreciate community contributions to improve data accuracy.
Do I need an API key to access the data?
No, you don't need an API key. All our data is freely available through the GitHub repositories. Simply:
- Clone or download the repository you're interested in
- Access the files directly from your local machine
- Or use GitHub's raw file URLs in your applications
This approach ensures the data remains accessible to everyone without authentication barriers.
Have a question that's not answered here? Check the README files in each repository for specific details about that season's data, or contact us for additional help.
If you have any feedback, please reach out to us at https://tracinginsights.com/contact/
TracingInsights and this website are unofficial and are not associated in any way with the Formula 1 companies. F1, FORMULA ONE, FORMULA 1, FIA FORMULA ONE WORLD CHAMPIONSHIP, GRAND PRIX and related marks are trade marks of Formula One Licensing B.V.
