Viewing & navigation

Tabs & split view

Keep several files open as tabs, pin the ones you keep coming back to, reopen ones you closed by accident, and compare two files side by side in split view.

Folder explorer

Browse a project tree without leaving the viewer, with per-type icons so Markdown, code, data, and binary files are distinguishable at a glance.

Command palette & quick open

Ctrl/Cmd+Shift+P for any command, Ctrl/Cmd+O for fuzzy file search, and project-wide find-in-files — navigate without touching the mouse.

In-document search

Find and highlight text within the open document, with next/previous navigation, the same Ctrl/Cmd+F shortcut you already reach for.

Bookmarks & recent files

Jump back into files you had open before, or pin the ones you reference constantly, without hunting through the filesystem again.

Back/forward history & resizable panes

Move through the files you've opened like browser history, and resize the sidebar or split-view divider to fit what you're working on.

Drag-and-drop & file association

Drop a file onto the window, use "Open With" from your OS file manager, or open a .md/.markdown file directly — Sarvak registers as a file association, not just a manually-launched app.

Dark mode

A proper dark theme across every viewer, not just an inverted CSS filter over a document meant for print.

Editing

In-place Markdown editing

A contenteditable-based editor with formatting shortcuts and toolbar controls — bold, headings, lists — for the moments viewing isn't enough.

Explicit save, crash-recovery drafts

Autosave keeps a recovery draft as you type, while the file on disk only changes when you actually save — no silent overwrite mid-edit.

Image paste & drop

Paste or drag an image directly into a Markdown document and it's saved alongside the file and linked automatically.

Editing is intentionally scoped to Markdown — every other format (code, JSON, notebooks, data files) is view-only by design, so nothing you open ends up silently reformatted.

Big files & streaming

Streams files up to ~1GB

Code, log, and CSV/TSV files this large are read in chunks from disk instead of loaded whole into memory, so opening a huge file never stalls or crashes the app.

Log severity coloring

ERROR/WARN/INFO/DEBUG/TRACE lines are colored and filterable by level, even on multi-gigabyte server logs streamed in from disk.

Paginated large tables

Big CSV/TSV files load more rows on demand instead of rendering the whole table into the DOM at once.

Viewing controls

Zoom & fullscreen

Zoom in or out on any open document, or expand into a distraction-free fullscreen view.

Print & PDF export

Print the current document or export it to PDF directly from the viewer — no separate conversion step.

Table of contents

Markdown documents get an auto-generated outline from their headings, so you can jump straight to a section in a long file.

Source/Preview & Code/Preview toggles

LaTeX files default to a rendered Preview with a one-click Source toggle; raw HTML files default to Code with a Preview toggle — see the rendered version or the source, whichever you need.

Git diff view

A Diff/Full toggle in the toolbar shows a file's changes against git HEAD for any repo with uncommitted changes — not only while an AI agent is attached — with long unchanged runs folded down and real old-file/new-file line numbers in the gutter.

For AI coding agents

Attach to a live Claude Code session

Zero-config session detection and a live file-watch rail, plus a per-repo accent-colored window border so you can tell attached windows apart at a glance. Pairs with the git diff view above to show exactly what the agent changed.

Full details — how detection works, what it deliberately doesn't do (no MCP server, no steering, read-only), and which agents are supported today — are on the dedicated AI agents page.

Formats supported

One free viewer for every file you open

Sarvak replaces a drawer of single-purpose apps — a Markdown editor, a PDF reader, a JSON viewer, a Jupyter server — with one free, native tool that opens all of them instantly.

Markdown & documents

A markdown viewer and reader that renders your files live — with explicit save, crash-recovery drafts, Mermaid diagrams, and GitHub-flavored syntax built in, so there's no separate app needed just to open a stack of markdown files.

.md.markdown.txt.html

Logs

Severity-colored ERROR/WARN/INFO/DEBUG/TRACE lines with a level filter — including on multi-gigabyte files streamed in from disk, so a huge server log stays scannable instead of one wall of monospace.

.log

PDF viewer

Open, zoom, paginate, and export PDFs with a built-in viewer — no Adobe Reader or browser tab required.

.pdf

Jupyter notebooks

An offline .ipynb viewer — markdown cells, syntax-highlighted code, and outputs render instantly, without starting a Jupyter server or Python kernel.

.ipynb

Structured data

A JSON formatter and pretty-printer with syntax highlighting and collapsible folding, plus viewers for YAML/XML config files and a searchable table view for CSV/TSV.

.json.yaml.yml.xml.toml.csv.tsv

Code — 50+ languages

Syntax highlighting, line numbers, and code folding for every language you're likely to open in a hurry.

.py.js.ts.rs.go.java.cpp.c.sh.sql+40 more

LaTeX & math

A LaTeX (.tex) viewer with a rendered preview alongside the highlighted source, plus KaTeX-powered math rendering — inline and display equations, align/gather blocks — directly inside Markdown files too.

.tex

Images

A native image viewer with zoom and pan, including TIFF decoding and a HEIC/HEIF fallback decoder for the platforms whose system codec doesn't already handle it.

.png.jpg.svg.webp.gif.tiff.heic

Databases & data files

A Parquet table viewer (including GZIP/ZSTD-compressed files from Spark, Pandas, or DuckDB) and a SQLite browser with a schema/table list and a read-only SQL query box — inspect a database file without installing a database client.

.parquet.sqlite.sqlite3.db

Archives

Browse a zip or tar archive's contents — names, sizes, and full folder structure, rendered as an indented tree with paging for large archives — without extracting anything to disk.

.zip.tar.tar.gz.tgz

Dev & security files

Inspect HAR network traces (request/response headers and bodies), decode X.509 certificates (subject, issuer, validity, SANs, fingerprint), and read lockfiles and manifests — Cargo.lock, go.sum, yarn.lock, Dockerfile, Makefile, and more — that ship without a recognizable file extension. Any other binary falls back to a hex/ASCII viewer instead of a blank screen.

.har.pem.crt.csrCargo.lock+more

How opening these files actually goes today, compared to the tools most people already reach for first:

Sarvak VS Code + extensions OS Quick Look / Preview Web viewers
Open a Jupyter notebook Built in, no kernel needed Needs a Python extension + interpreter Not supported Upload required, needs internet
Render LaTeX math Built in (KaTeX), offline Needs a LaTeX extension + a full TeX install (gigabytes) Not supported Upload required, needs internet
Open a 500MB+ log or CSV Streams from disk, stays responsive Loads the whole file — often stalls or crashes Not supported Rejected past the upload size limit
Browse Parquet or SQLite files Built in — table view, schema, read-only SQL Needs a specific extension per format Not supported Upload required, needs internet
Watch a live Claude Code session Zero-config Attach, file-watch rail, folded diff Manual git diff, no live signal Not supported Not supported
Keep the file on your machine Always — no upload, no account Yes, local Yes, local No — file must be uploaded
Typical install size Under 6MB Full IDE install, several hundred MB, plus a separate extension per format — —