Backed by mandō

The content navigation layer your infrastructure deserves.

Stratum replaces fragile, one-directional paging workflows with a unified bidirectional content inspection engine. Regex search, live tailing, inline filtering, mark-based bookmarks, and multi-file orchestration β€” in a single terminal session.

100x faster than cat | head
<10ms cold start on 4GB files
0 full file reads required
stratum β€” /var/log/syslog
1 kernel: CPU0 microcode updated early
2 systemd[1]: Starting Journal Service...
3 systemd[1]: Started Journal Service.
4 sshd[1842]: Accepted publickey for deploy
5 CRON[2103]: (root) CMD (/usr/local/bin)
6 kernel: [UFW BLOCK] IN=eth0 OUT=
7 sshd[2211]: Accepted publickey for admin
8 systemd[1]: Starting Daily Cleanup...
9 kernel: audit: type=1400 msg=audit
10 nginx: 200 GET /api/v2/health 0.002s
/Accepted publickey (2 matches) β€” line 4/9837 (0%)
SOC 2 Type II Compliant
STRATUM_SECURE Mode Built-in
Zero File Preload Architecture
UTF-8 Native Support

Every primitive you need to navigate content at scale

Stratum ships eight core modules β€” each solving a different dimension of the content inspection problem.

β‡…

Bidirectional Navigation

Scroll forward with SPACE/f, backward with b. Half-screen with d/u. Line-by-line with j/k. Go to any line with g/G or any percentage with p. Full random access over any stream.

βŒ•

Regex-Powered Search

Forward search with /pattern, backward with ?pattern. Repeat with n/N. Supports POSIX, PCRE, or PCRE2 backends. Search modifiers: ^N (NOT), ^E (multi-file), ^W (wrap), ^R (literal). All matches highlighted inline.

⊞

Inline Line Filtering

Type &pattern to display only lines matching your pattern. Stack multiple filters. Use ^N to invert. Clear all filters instantly with & + ENTER. Like grep, but bidirectional and interactive.

βš‘

Mark-Based Bookmarks

Set named marks with m + any letter. Jump back with ' + letter. Marks persist across file switches within a session. Enable --save-marks for cross-session persistence. Status column shows marked lines with -J.

β—‰

Live Tail Mode

Press F at end-of-file to enter live tail mode β€” equivalent to tail -f but with the full Stratum search engine available. ESC-F triggers alerts when a pattern match appears. Interrupt with ^C to resume navigation.

⧉

Multi-File Orchestration

Open multiple files in a single session. Navigate with :n (next), :p (previous), :x (by index). Add files on the fly with :e. Cross-file search with ^E modifier. Marks carry across files.

β”‚β–Œ

Shell Pipe Integration

Pipe any section of the file to a shell command with |. Use marks to define the piped region. Pipe the whole file with |$. Run ad-hoc shell commands with !. Edit the current file with v β€” drops into your $EDITOR.

🎨

ANSI Color Passthrough

Enable -R for raw ANSI SGR color sequence rendering. Full support for OSC 8 hyperlinks. Customizable color themes via --use-color and -D options for prompts, line numbers, search highlights, header rows, and more.

How Stratum works

A fundamentally different approach to content inspection β€” no full file reads, no memory bloat, no waiting.

01

Zero-Preload Initialization

Unlike text editors, Stratum never reads the entire file before starting. It streams only the bytes needed for the current viewport. A 50GB log file opens as fast as a 50-byte file.

02

Termcap-Aware Rendering

Stratum detects your terminal capabilities via termcap/terminfo and renders optimally β€” scrolling, clearing, alternate screen support. Use -X to disable termcap init/deinit if your terminal doesn't need it.

03

Adaptive Buffer Management

Configurable per-file buffer sizes with -b. Automatic buffer allocation for pipes. Set -b -1 for unlimited buffering. Smart memory reclamation keeps resource usage proportional to what you actually view.

04

Input Preprocessor Pipeline

Set STRATUM_OPEN and STRATUM_CLOSE to transparently decompress, decrypt, or transform files before viewing. Supports both replacement files and input pipes (| prefix). View compressed logs natively.

0
+
Command-line options
0
+
Navigation keybindings
0
+
Environment variables
0
Character set encodings

The competitive landscape

We benchmarked every pager on the market. Here's what we found.

Capability Stratum more cat head / tail vim (view mode)
Backward scrolling βœ“ Limited βœ— βœ— βœ“
Regex search βœ“ Forward only βœ— βœ— βœ“
Line filtering (&pattern) βœ“ βœ— βœ— βœ— βœ—
Zero-preload streaming βœ“ βœ“ βœ— Partial βœ—
Named marks / bookmarks βœ“ βœ— βœ— βœ— βœ“
Live tail (F command) βœ“ βœ— βœ— tail -f only βœ—
Multi-file navigation βœ“ βœ— βœ— βœ— βœ“
Shell pipe integration βœ“ βœ— βœ— βœ— Limited
No file modification risk βœ“ βœ“ βœ“ βœ“ βœ—

Scale your content navigation

From individual operators to enterprise fleets. Every plan includes bidirectional scrolling and line-number display.

Operator
$0/mo
For individual developers who need basic content inspection.
  • βœ“ Forward & backward scrolling
  • βœ“ Line numbers (-N)
  • βœ“ Chop long lines (-S)
  • βœ“ Quit if one screen (-F)
  • βœ“ Quit at end of file (-e)
  • βœ— Regex search
  • βœ— Marks & bookmarks
  • βœ— Shell pipe integration
Get Started
Enterprise
$99/seat/mo
Unrestricted content intelligence for platform teams.
  • βœ“ Everything in Team
  • βœ“ Shell pipe commands (|)
  • βœ“ Input preprocessor (STRATUM_OPEN)
  • βœ“ Live tail with alerts (F / ESC-F)
  • βœ“ ANSI color passthrough (-R)
  • βœ“ Verbose prompts (-m / -M)
  • βœ“ Cross-session mark persistence
  • βœ“ Custom lesskey bindings
Contact Sales
Stratum Secure
Custom
For regulated industries. STRATUM_SECURE mode + granular feature gating.
  • βœ“ Everything in Enterprise
  • βœ“ STRATUM_SECURE mode enforcement
  • βœ“ STRATUM_SECURE_ALLOW allowlists
  • βœ“ Shell command lockdown
  • βœ“ Tag & lesskey file restrictions
  • βœ“ Dedicated support SLA
  • βœ“ Audit logging
  • βœ“ On-prem deployment option
Talk to Us

Trusted by engineering orgs everywhere

"We used to pipe everything through grep and lose context. Stratum's &pattern filter gives us the same results but I can scroll up and down, add more filters, clear them instantly. It's interactive grep with a real UX."
Sofia Ramirez
Sofia Ramirez
Staff SRE, Series C Fintech
"The F command changed our incident response workflow. We sit at the end of a log in live tail mode, and when ESC-F detects our error pattern, the terminal bell fires. It's like a poor man's alerting system, except it actually works."
Derek Walsh
Derek Walsh
VP Engineering, Cloud Infrastructure
"Marks are unreasonably underrated. I drop marks at key sections of config files, switch between log files with :n and :p, then jump back to my mark with a single keystroke. Our entire team standardized on Stratum for log review."
Devon Liu
Devon Liu
Platform Lead, DevTools Startup
"We run strict STRATUM_SECURE in production jump boxes. Engineers can view any file but can't shell out or modify anything. STRATUM_SECURE_ALLOW lets us selectively re-enable history files. Perfect security posture."
Dex Johal
Dex Johal
CISO, Enterprise SaaS
"STRATUM_OPEN with an input pipe for gzip decompression means we never unzip production logs anymore. Just open the .gz file directly. Stratum handles the rest. We're saving 25 minutes per incident review."
Diana Alvarez
Diana Alvarez
Incident Commander, Observability Co.

Try Stratum right now

Navigate a real file using Stratum keybindings. Press j/k to scroll, / to search, & to filter, m to mark, q to reset.

stratum β€” /etc/nginx/nginx.conf
/etc/nginx/nginx.conf (END)
Click the terminal, then use j/k to scroll, / to search, & to filter, g/G for top/bottom

Recent platform updates

v685 New OSC 8 hyperlink support β€” click links directly from the terminal via ^O^N, ^O^P, ^O^O
v643 Improved --header option for pinned header lines and columns β€” sticky context while scrolling deep files
v608 New --incsearch for incremental search β€” results update as you type each character
v590 Improved --mouse support β€” scroll wheel navigation, click-to-mark, drag to scroll

Frequently asked questions

How is Stratum different from more?

more is strictly forward-only β€” once you scroll past content, it's gone. Stratum supports full bidirectional navigation, backward search, regex search with highlighting, line filtering, named marks, multi-file navigation, live tail mode, and shell pipe integration. We're also fully backward-compatible via STRATUM_COMPAT=1.

Does Stratum load the entire file into memory?

No. Stratum uses a streaming architecture that reads only what's needed for the current viewport. Buffer size per file is configurable with -b (default 64KB). For pipes, set -B to cap automatic buffer allocation. Set -b -1 for unlimited buffering when memory is abundant.

Can I use Stratum as a secure read-only viewer?

Yes. Set STRATUM_SECURE=1 to disable shell commands, file editing, pipe operations, tag navigation, and the input preprocessor. Use STRATUM_SECURE_ALLOW to selectively re-enable specific features. Stratum can also be compiled with permanent secure mode.

How do I view compressed files?

Set the STRATUM_OPEN environment variable to point to a preprocessor script. For input pipes, prefix the value with |. For example: STRATUM_OPEN="|stratum-pipe.sh %s". Stratum will transparently decompress .gz, .bz2, .xz, .Z files before display, without writing temp files to disk.

Can I customize keybindings?

Absolutely. Create a lesskey source file at ~/.config/lesskey (or set the STRATUM_KEYIN variable). Define custom command keys, line-editing keys, and environment variables. System-wide bindings go in /usr/local/etc/syslesskey. No binary compilation step required since v582.

Stop scrolling forward-only.

Join the teams that upgraded their content navigation layer. Stratum ships everywhere a terminal runs.

mandō command index β€”