stream viewer for the terminal
curl -sL https://clankercode.github.io/slit/install.sh | sh
slit reads stdin and renders it in a fixed-height viewport, live, at up to 100fps.
No more scrollback hunting. No more tail juggling.
Pipe anything in, press q to quit.
Designed from scratch for piped input. Debounces at up to 100fps, buffers up to 50,000 lines, and keeps your cursor exactly where you left it.
→ live render at ~10ms intervalsSwitch between minimal, box, rounded, compact, quote, or bare with a single flag. Line numbers, timestamps, and ANSI color all passthrough cleanly.
→ --box --rounded --compactNot a tty? slit shows the first and last 10 lines of the stream — enough context without flooding logs. Use -n 0 to pipe everything through, or -n N to change the window.
Tee output to a file as it streams with -o file.log. Save raw input or the display representation with timestamps.
Piping a file? slit detects the size and shows a real progress bar. Unknown-length stream? Spinner + line count. Always know where you are.
→ braille spinner by defaultSIGWINCH-aware. Resize your terminal mid-stream and slit reflows instantly. Ctrl+Z suspend and resume works correctly too.
→ full POSIX signal handlingThree complete, flag-compatible implementations. Same behavior. Wildly different tradeoffs.
Benchmarks: 1M lines, plain input, Linux x86_64. C wins on throughput; Rust on balance; Go on features.
$ make 2>&1 | slit --box -o build.log
$ tail -f /var/log/syslog | slit --compact -l -t
$ pytest tests/ | slit | grep FAILED > failures.log
$ ./etl-job | slit --rounded -w -l | kafka-producer --topic events
# set your defaults once layout = "box" lines = 20 color = "auto" wrap = false
Linux x86_64. Three implementations. Zero runtime deps for C.