Tools for reading Forza Data Out UDP telemetry, printing live values in the terminal, logging CSV data, and serving a browser dashboard.
- Forza Motorsport 7
- Forza Motorsport (2023) and newer Motorsport titles
- Forza Horizon 4, 5, and 6 with the
-zflag
- Realtime telemetry output in the terminal
- CSV telemetry logging
- Built-in live web dashboard using WebSockets for fast updates
- Raw telemetry JSON over HTTP
- Race/drive statistics from CSV logs
Install Go from https://go.dev/dl/ or with your package manager:
brew install goAny recent Go version should work.
Build the app from the repository directory:
go build -o fdtOn Windows:
go build -o fdt.exeThis creates an executable named fdt or fdt.exe.
- In your Forza HUD/gameplay options, enable Data Out.
- Set the destination IP address to your computer's IP address. The app prints this address when it starts.
- Set the Data Out port to
9999. - For Motorsport games, select car dash format when the option is available.
- For Horizon games, run this app with
-z.
If RPM looks correct but speed, tire temperatures, gear, or lap values are wildly wrong, the app is probably using the wrong packet layout. Restart with -z for Horizon games, and without -z for Motorsport games.
| Flag | Description |
|---|---|
-c log.csv |
Log telemetry to a CSV file. Existing files are overwritten. |
-z |
Use the Horizon packet layout for Forza Horizon 4/5/6. |
-j |
Enable the JSON/WebSocket server and browser dashboard. |
-q |
Disable realtime terminal output. |
-d |
Enable debug logging. |
Forza Horizon 4/5/6:
./fdt -z -j -c log.csvForza Motorsport:
./fdt -j -c log.csvForza Horizon, web dashboard-only / quiet terminal mode:
./fdt -z -j -qOn Windows, use fdt.exe instead of ./fdt.
When -j is enabled, open the dashboard at:
The dashboard subscribes to /forza/ws over WebSockets for live updates.
Raw JSON is available at:
http://localhost:8080/forza.json
The JSON format is an array of objects containing the parsed Forza telemetry fields. A sample is available at dash/sample.json.
The older standalone example dashboard remains in dash/index.html.
go: command not found: Install Go and make sure it is on yourPATH.- Module download errors: Run
go mod download. - No dashboard at
localhost:8080: Start the app with-j, then open/forza. - Values look off: Make sure to use
-zfor Horizon games; omit-zfor Motorsport games. - No telemetry arrives: Confirm Data Out is enabled in Forza, the destination IP matches your computer, and the port is
9999.
