irDashies - Real-time iRacing Overlays
An open-source platform for building real-time iRacing overlays and utilities using React and Electron. Designed to be approachable for web developers — no iRacing SDK, C++, or even iRacing installation required to get started.
For bug reports, feature requests, or to get involved, join our Discord.
Try it out
You can try it out by downloading the latest release from the releases page.
Install the .exe and run it. The application will automatically update when a new version is available.
Table of Contents
- Introduction
- Available overlays
- Prerequisites
- Installation
- Usage
- Folder Structure
- Storybook
- Package (create .exe)
- Testing
- Linting
- Sponsors
- Contributing
- License
Introduction
This project is built with React and Electron and uses the iRacing SDK to retrieve data from the iRacing live telemetry memory-map.
Available overlays
Input trace
Displays the throttle, clutch, and brake input traces, as well as the current gear and speed.
Features:
- Input trace visualization (throttle, brake, ABS indicator, steering)
- Input bar display (clutch, brake, throttle, ABS indicator)
- Current gear display with speed (auto/mph/km/h units) and dynamic sizing to fit container
- Optional speed-first gear layout
- Steering wheel visualization with multiple styles (default, formula, LMP, NASCAR, U-shape, ring) and color themes (light/dark)
- Customizable display order for all components
- Adjustable background opacity
- Option to show only when on track
- Session visibility settings (Race, Lone Qualify, Open Qualify, Practice, Offline Testing)
Tachometer
Displays a real-time tachometer with optional RPM text display.
Features:
- Tachometer with optional RPM text display
- Resizable and adjustable background opacity
- Option to show only when on track
- Session visibility settings (Race, Lone Qualify, Open Qualify, Practice, Offline Testing)
Standings
Displays standings information for the current session.
Features:
- Driver information: position, car number, country flags, driver name, team name, pit status
- Driver Tags: Assign color-coded visual indicators to specific drivers
- Car details: manufacturer (with option to hide if single-make series), tire compound
- Driver badges with multiple format options (license/rating combinations)
- Styling customizations: toggle minimal license badges, minimal status badges, position background color, and car number background/border independently
- Timing information: gap, interval, best lap time, last lap time (multiple time format options)
- Optional Push-to-Pass column, showing a driver's active state and remaining time in supported series
- Configurable radio icon duration, so recent transmissions remain visible without flickering
- iRating change display
- Lap time deltas (configurable number of laps: 1-5)
- Title bar with session progress bar
- Header and footer bars with customizable items and display order:
- Driver standings configuration:
- Optional position change column (arrows vs qualifying grid baseline)
- All drivers shown immediately at practice/pre-qualifying start (sorted by car number)
- Toggle to strip car numbers from driver names
- Customizable display order for all columns
- Adjustable background opacity
- Option to show only when on track
- Option to use live position standings (updates continuously vs only at start/finish line)
- Session visibility settings (Race, Lone Qualify, Open Qualify, Practice, Offline Testing)
Relative
Displays drive relative delta information for the current session.
Features:
- Driver information: position, car number, country flags, driver name, team name, pit status
- Driver Tags: Assign color-coded visual indicators to specific drivers
- Car details: manufacturer (with option to hide if single-make series), tire compound
- Driver badges with multiple format options (license/rating combinations)
- Styling customizations: toggle minimal license badges, minimal status badges, position background color, and car number background/border independently
- Relative delta timing display with configurable precision
- Timing information: best lap time, last lap time (multiple time format options: full, mixed, minutes, seconds-full, seconds-mixed, seconds)
- Optional Push-to-Pass column, showing a driver's active state and remaining time in supported series
- Configurable radio icon duration, so recent transmissions remain visible without flickering
- Lap time delta column (configurable number of laps: 1-5)
- Optional flag contour: draws a colored border around the widget when a session flag is active, with configurable border width
- iRating change display (optional)
- Enhanced gap calculation with advanced options:
- Title bar with session progress bar
- Header and footer bars with customizable items and display order:
- Configurable number of drivers to show around player (1-10)
- Toggle to strip car numbers from driver names
- Customizable display order for all columns
- Adjustable background opacity
- Option to show only when on track
- Option to use live position (updates continuously vs only at start/finish line)
- Session visibility settings (Race, Lone Qualify, Open Qualify, Practice, Offline Testing)
Track Map
Displays a track map with the current position of the cars on track and the track layout with the turn numbers / names.
Features:
- Real-time car positions on track (live telemetry)
- Track layout visualization
- Optional turn numbers and names display
- Pit lane highlighting with "P" indicators for cars in the pits
- Show/hide car numbers on driver circles
- Configurable driver and player circle sizes (10-100px)
- Configurable track line width (1-100px) and outline width (1-150px)
- Option to invert track colors (black track with white outline)
- Option to use highlight color for player circle
- Custom player car icon: upload an image (PNG, JPG, GIF, WebP, SVG) to replace your player circle
- Option to use an inverted color for the leader to make them stand out
- Multi-class support
- Session visibility settings (Race, Lone Qualify, Open Qualify, Practice, Offline Testing)
- Race positions: Driver circles can display their current race position
- Off-track highlighting: Car markers highlight when a driver goes off the track (yellow outline)
- Styling customizations: toggle minimal track outline and minimal car marker shadows
Flat Track Map
Displays a simplified horizontal track map showing driver positions along a flat line representation of the track. Similar to Track Map but uses a linear horizontal layout.
Features:
- Real-time car positions on horizontal track line
- Start/finish line with checkered flag
- Show/hide car numbers on driver circles
- Configurable driver and player circle sizes (10-100px)
- Configurable track line width (5-40px) and outline width (10-80px)
- Option to invert track colors (black track with white outline)
- Option to use highlight color for player circle
- Auto-scales to container width
- Multi-class support
Weather
Displays the weather information for the current session.
Features:
- Current weather conditions: track state, track and air temperature, wind speed and direction, humidity, precipitation, track wetness
- Vertical, horizontal compact, and horizontal full layouts
- Optional humidity display
- Customizable display order for all weather elements
- Temperature units: Auto (based on iRacing settings), Metric (°C), or Imperial (°F)
- Adjustable background opacity
- Option to show only when on track
- Session visibility settings (Race, Lone Qualify, Open Qualify, Practice, Offline Testing)
Wind
Displays wind direction and speed as a standalone overlay.
Features:
- Wind compass with live direction and intensity
- Speed units: Auto, km/h, or mph
- Adjustable background opacity and on-track/session visibility controls
Faster Cars From Behind
Displays information about faster cars approaching from behind, including driver name, distance, and a visual indicator that pulses when cars are close.
Features:
- Driver name and distance display
- Visual pulsing indicator when cars are close
- Configurable distance threshold for alerts
- Real-time detection of faster approaching cars
- Pit status filtering: Option to exclude cars in the pits
- Automatically hidden when on pit road
- Multiple driver display settings for more control over what's shown
Fuel Calculator
Displays comprehensive fuel management information including current fuel level, fuel consumption per lap (min, max, averages), pit window timing, fuel required to finish, and consumption history graphs. Features a complete redesign with visual layout editing and real-time consumption calculations.
Features:
- Fuel units: Liters (L) or Gallons (gal)
- Compact mode: Three levels (Off, Compact, Ultra) for information density
- Visual layout editing: Drag and drop widgets to customize your fuel display
- Layout options: Vertical or horizontal
- Real-time consumption calculations with pit strategy recommendations
- Multiple display widgets for flexible information presentation
- Consumption statistics:
- Pit window timing information
- Endurance strategy display (total pit stops and stint info for long races)
- Consumption history graphs:
- Configurable safety margin (0-20%) for fuel calculations
- Adjustable background opacity
- Earliest pit lap: Shows the earliest possible lap you can pit and still finish the race
- Fuel-to-add mode: Toggle between showing total fuel needed or just what's needed at the next stop
- Target consumption: Shows what fuel saving is required to reach specific lap targets (±1 from current estimate)
Blind Spot Monitor
Displays visual indicators on the left and right sides of the screen when cars are detected in your blind spots. The indicator position dynamically adjusts based on the distance to the detected car.
Features:
- Left and right side detection with three-wide scenario support
- Visual amber indicator bars that move vertically based on car distance
- Detection of single car or multiple cars on each side
- Configurable border size (0-20px) and indicator color
- Configurable detection distances:
- Adjustable indicator width (5-100px)
- Adjustable background opacity
- Only displays when on track
- Real-time position tracking based on lap distance
- Standard bar or compact Simple mode, with configurable indicator size, position, car count, and colours
Battle
Displays a compact three-row view of the cars immediately ahead of and behind you in class position, alongside your own row.
Features:
- Live gap, previous-lap gap, and gap-change display
- Optional position, car number, driver name, stint length, last lap time, and speed columns
- Reorderable columns and configurable gap precision, lap-time format, and speed units
- Last-lap highlights for personal-best and session-fastest laps
- Adjustable background opacity and on-track/session visibility controls
Slow Car Ahead Warning
Displays a warning indicator when a slower car is detected ahead on the track. The distance in meters to the car is displayed, as well as bars that grow as the car gets closer. The color of the bars change based on the track position and speed of the slow car:
- Green: Car is off-track
- Amber: Car is on-track and moving (depends on configured threshold)
- Red: Car is on-track and stopped, or moving very slowly (depends on configured threshold)
- Adjustable distance threshold
- Adjustable slow speed threshold
- Adjustable stopped speed threshold
- Adjustable bar thickness
- Automatically hidden when on pit road
Garage Cover
Displays a custom image overlay when you are in the garage. Perfect for streaming to show a branded or custom image while in the garage instead of the default iRacing garage view.
Features:
- Custom image upload (drag and drop or file selection)
- Only displays when in garage
- Browser source compatible for OBS and other streaming software
- Accessible via browser at
http://localhost:3000/dashboard(displays as part of your dashboard) - Image preview in settings
Rejoin Indicator
Displays a safety indicator showing the gap to the car behind and whether it's safe to rejoin the track after leaving the pits or garage. Provides clear visual feedback with color-coded status (Clear/Caution/Do Not Rejoin).
Features:
- Real-time gap calculation to the nearest on-track car behind
- Color-coded status indicators:
- Configurable speed threshold (default: 30 km/h) - only shows when at or below this speed
- Configurable gap thresholds:
- Automatically hides when:
- Only displays when driving and on track
Pitlane Helper
Helps you manage your pit stops with clear visual guidance. It assists with speed limits, finding your pit box, and monitoring pitlane traffic.
Features:
- Speed Limit Assistant: Vertical colour-coded indicator (Green/Amber/Red) showing proximity to the pit speed limit, toggleable speed bar with decimal precision and selectable speed unit (Auto/MPH/KM/H).
- Pitbox Countdown: A distance tracker and progress bar show exactly how far you are from your pit stall.
- Countdown Bars: Colour-coded progress bars for pit entry, pitbox, and pit exit distances (Green -> Yellow -> Blue).
- Pit Exit Inputs: Throttle/clutch display to optimize pit exits with phase-based visibility options.
- Traffic Monitor: See how many cars are currently ahead or behind you in the pitlane.
- Fully resizable with theme-matching background
- Early Warning: Alerts you if your pitbox is located near the pit entry.
- Pit limiter alerts: Flashing warnings if you enter the pits without your limiter active (auto-disabled for series with automatic limiters).
Lap Timer
Features:
- Current lap: Show current lap time, highlights green for personal best and purple for session best.
- Predicted lap: Shows an estimate of the lap time based on the current delta.
- Best and last lap: Display the best and last lap times.
- Personal best lap: Optionally show the best lap ever recorded by irDashies for the current car and track combo, persisted across sessions.
- Lap history: Show a history of your most recent lap times along with optional deltas.
- Fully configurable: Decide which laps your interested in and toggle them on and off individually.
- Fully customisable: Resize, scale and align to position the widget to your taste.
Sector Delta
Displays per-sector timing deltas for the current lap, colour-coded by performance against a ghost lap or your session best. Sectors are shown as a strip that can scroll continuously with the current sector pinned to the centre.
Features:
- Per-sector deltas coloured green/yellow/red based on performance vs reference
- Comparison source: ghost lap when available, or session best only
- Continuous scrolling strip with the current sector position-pinned to the centre
- Option to limit the number of visible sectors (sliding carousel)
- Track incident sectors: sectors where you picked up incidents are flagged with a warning icon
- Configurable colour thresholds (green and yellow limits as a percentage of session best)
- Time format with configurable decimal precision
- Adjustable background opacity
Flag Widget
Displays racing flags in an LED-matrix style, automatically showing the most relevant flag when multiple are active. Perfect for keeping track of track conditions and race control messages.
Features:
- LED-matrix style flag display
- Automatic flag priority: Shows the most important flag when multiple are active
- Support for all iRacing racing flags (green, yellow, white, checkered, blue, black, etc.)
- Option to display two identical flags within a single widget
- Matrix mode: choose the LED resolution (8x8, 16x16, or uniform 1x1) for a more detailed or compact look
- Optional flag label and "no flag" state display
- Optional glow effect and configurable flag animation (toggle plus blink period)
- Customizable size and positioning
- Adjustable background opacity
- Session visibility settings (Race, Lone Qualify, Open Qualify, Practice, Offline Testing)
Setup Comparison Tool
Side-by-side setup analysis to compare car setup changes between sessions.
Features:
- Side-by-side setup diff with changed values highlighted in red
- Snapshot timestamps for each saved setup
- Move setups left/right to reorder comparisons
Twitch Chat Overlay
Displays live Twitch chat directly in your overlay, useful for streamers who want chat visible while racing.
Features:
- Live chat display with configurable channel name (no OAuth required)
- Emoji support
- Colored nicknames using each chatter's Twitch username color
- Optional auto-disappearing messages with a configurable interval (10-90s)
- Configurable font size and background opacity
- Visible even when iRacing is not running
Heart Rate
Displays your live heart rate from HypeRate by embedding its overlay — no API key or account required, just your session id.
Features:
- No key/account needed — paste the session id from your HypeRate share link (
app.hyperate.io/KiY) - Optional widget/theme: paste any HypeRate widget link or name (e.g.
Bouncing_Heart_Widget, or anapp.hyperate.io/animation/route); your session id is filled in automatically and any baked-in id is ignored/... - Transparent background and no scrollbar (the embedded page is restyled like an OBS browser source)
- Auto-fits the graphic to the widget and scales it on resize (no truncation)
- Visible even when iRacing is not running
Information Bar
A standalone widget that displays session and timing information independently from the Standings and Relative widgets.
Features:
- Displays flag status, lap counter, session time, and other session info
- Fully configurable: reorder items and toggle each one on or off
- Adjustable background opacity
- Session visibility settings (Race, Lone Qualify, Open Qualify, Practice, Offline Testing)
Telemetry Inspector
A powerful tool for viewing live data coming from iRacing. While mostly used for debugging, it's great for seeing exactly what data the app is receiving in real-time.
Corner Name Overlay
Displays the current track section (corner or named straight) along with corner number and progress through the section. Track section data is sourced from lovely-track-data.
Features:
- Section name display (e.g. "Eau Rouge", "Kemmel Straight", "La Source")
- Corner number badge (e.g. T1, T12) when the section is a numbered turn
- Progress bar showing position within the current section
- Optional overall lap-distance percentage
- Configurable font size and background opacity
- Session visibility settings (Race, Lone Qualify, Open Qualify, Practice, Offline Testing)
The Gantry
A race control window with live standings, an automatic incident feed, and a per-lap graph. Unlike the other widgets it opens in its own resizable window instead of sitting on top of the sim, so it suits a second monitor, a spotter, or a race director. Enable it in Settings, then use Show Window to bring it back if you close it.
Features:
- Standings and incidents shown side by side with a draggable divider, plus a separate Lap Graph tab
- Standings list
- Incident feed
- Lap Graph
Other Features
Features:
- Profile Management
- Streamer & OBS Ready
http://localhost:3000/dashboard for the default profile, or http://localhost:3000/dashboard?profile= for specific profiles.
- Network Access: Enable network access in settings to allow other devices on your local network to access the dashboard (useful for dual-PC streaming setups).
- Garage Cover: Automatically hide your screen with a custom image when you enter the garage to keep your car setup private.
- Transparent backgrounds: All overlays are designed to look great on top of your game or stream.
- Reduced GPU usage: Overlay windows are sized to fit only the widgets on each display, rather than covering the full screen.
- Customization & Themes
- Ease of Use
Prerequisites (for development)
- Node.js (v20 or higher)
- npm (comes with Node.js)
- Windows build tools if you are on Windows
- iRacing installed on your machine (Windows only)
Note: Developing on MacOS is fully supported and does not require iRacing or any additional tools to be installed as it uses a mocked SDK.
Installation (for development)
To install IRDashies, follow these steps:
- Clone the repository
- Navigate to the project directory
- Install the required dependencies:
npm install
- Run the application:
npm start
- Optionally, you can run the storybook to view the components in isolation:
npm run storybook
Usage (for development)
To start using IRDashies, run the following command:
npm start
This will start the application.
Look for the application in your app tray.
You will need to have Node.js installed on your machine to run the application. You can download it from here.
On macOS you will see mocked data from a sample session. To connect to iRacing, you will need to run the application on Windows.
While developing its recommended you run storybook as it gives you a quick way to iterate your changes:
npm run storybook
Folder Structure
The project is structured as follows:
irdashies/
├── src/
│ ├── app/
│ ├── frontend/
│ ├── types/
src/app/contains the main Electron application code.src/app/irsdk/contains the iRacing SDK code including the native C++ bindings.src/frontend/contains the React components for the overlays.src/types/contains TypeScript type definitions shared between the frontend and backend (e.g. telemetry types).
Note: Frontend components should NOT import anything from ./app as these are Electron-specific modules. Any communication should be done via IPC and types exposed via the types folder.
Storybook
To view the components in Storybook, run the following command:
npm run storybook
This allows you to easily develop, test, and visualise the widgets/overlays in isolation.
Package (create .exe)
To package the application and create the .exe, run the following command:
npm run package
To create the .exe and the installer run the following:
npm run make
Testing
To run the tests, run the following command:
npm run test
Linting
To run the linting, run the following command:
npm run lint
Ensure you have ESLint extension installed if using VS Code. This project uses ESLint flat config format (eslint.config.mjs).
Developing on Mac
As you may know, the iRacing SDK is only available on Windows. To develop on Mac OS, there is a mock SDK that is loaded which generates some dummy data for you to work with. This is useful for developing the UI components and widgets.
Sponsors
|
|
Free code signing on Windows provided by SignPath.io, certificate by SignPath Foundation. |
Acknowledgments
This project makes use of data and resources from the following projects:
- lovely-car-data - Comprehensive car telemetry data including RPM thresholds, LED configurations, and shift point information for various racing games.
- lovely-track-data - Per-track corner names, sectors, pit-lane markers, and named straights for various racing games.
Contributing
We welcome contributions to the IRDashies project! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.
Join our discord here: https://discord.gg/YMAqduF2Ft
License
This project is licensed under the MIT License. See the LICENSE file for more details.