SLIT

stream viewer for the terminal

curl -sL https://clankercode.github.io/slit/install.sh | sh
scroll
what is slit

Your terminal output
is going nowhere fast.
Now it is.

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.

features

Built for streams.
Not afterthoughts.

01

Streaming-native

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 intervals
02

Six layouts. Zero config.

Switch between minimal, box, rounded, compact, quote, or bare with a single flag. Line numbers, timestamps, and ANSI color all passthrough cleanly.

→ --box --rounded --compact
03

Pipe-safe passthrough

Not 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.

→ SLIT_FORCE_RENDER=1 to override
04

Capture while viewing

Tee output to a file as it streams with -o file.log. Save raw input or the display representation with timestamps.

→ raw or display format
05

Progress aware

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 default
06

Resize-resilient

SIGWINCH-aware. Resize your terminal mid-stream and slit reflows instantly. Ctrl+Z suspend and resume works correctly too.

→ full POSIX signal handling
implementations

Pick your weapon.

Three complete, flag-compatible implementations. Same behavior. Wildly different tradeoffs.

C
binary size 64 KB
throughput 151.8 MB/s
lines/sec 151,741
peak RAM (1M lines) 14.5 MB
deps libc only
download binary →
Rust
binary size 2.2 MB
throughput 77.5 MB/s
lines/sec 528,000
peak RAM (1M lines) 22.0 MB
deps ratatui + tokio
download binary →
Go
binary size 6.0 MB
throughput 9.8 MB/s
lines/sec 66,600
peak RAM (1M lines) 33.4 MB
deps bubbletea + cobra
download binary →

Benchmarks: 1M lines, plain input, Linux x86_64. C wins on throughput; Rust on balance; Go on features.

usage

Pipe it in.

build output with capture
$ make 2>&1 | slit --box -o build.log
live logs with line numbers and timestamps
$ tail -f /var/log/syslog | slit --compact -l -t
test runner (transparent to downstream)
$ pytest tests/ | slit | grep FAILED > failures.log
data pipeline — wrapped but passthrough-safe
$ ./etl-job | slit --rounded -w -l | kafka-producer --topic events
config file (~/.config/slit/config.toml)
# set your defaults once
layout = "box"
lines = 20
color = "auto"
wrap = false
v0.2.5

Get slit.

Linux x86_64. Three implementations. Zero runtime deps for C.

all downloads → view source ↗ releases ↗