Refract documentation
Documentation
Refract plots tabular files, audio and live data streams on stacked tracks that share one x-axis.
Start here
New to Refract? Read Getting started, then Core concepts.
Getting started
Install, open a file, plot a signal, and learn the window layout.
Core concepts
Sources, traces, tracks and plot items.
Data sources & formats
CSV, Parquet, Arrow IPC and audio, plus the source browser.
Tracks & plot styling
Building tracks, line and marker styling, y-axis modes.
Navigating & inspecting
Zoom, pan, the crosshair, and following live data.
The x-axis model
Custom x-axes, transforms, units and alignment.
Computed signals
The formula language, functions and live updates.
Measuring
Cursors, ranges, the measurement table and the calculation pad.
Live connections
Transports, framing, decoders, buffering and presets.
Streaming clients
The refract-io-lib Python package and the RefractIO protocol.
Keyboard & menus
Every shortcut and menu command.
Plans & limits
What each plan allows, and purchasing.
Troubleshooting & FAQ
Common problems, file locations and support.
Common tasks
| Task | See |
|---|---|
| Plot two columns against each other | Assigning a custom x-axis |
| Plot a WAV file against time | Audio |
| Derive one signal from others | Computed signals |
| Read CSV from a serial port | Serial |
| Decode a binary packet | Binary packet builder |
| Stream from Python | RefractIO from Python |
| Inspect raw stream bytes | Raw stream console |
| Reconnect to a device in one click | Connection presets |
| Track the newest samples | Follow live |
| Read exact values at a point | Cursors |
| Take statistics over a window | The calculation pad |
| Measure a rise time or a step | Absolute values and offsets |
Requirements
Refract runs on macOS and is distributed through the Mac App Store.
Serial, USB HID, Bluetooth and TCP connections each require a macOS permission, requested the first time you select that transport. See Permissions.
Support
Use the contact form for anything not covered here. Include your Mac model, macOS version, and — for streaming issues — the transport, decoder and framing you configured.
For privacy requests, see the Privacy Policy.