Krill is a growing suite of tiny, single-purpose apps built by one person — one locked five-color palette, no settings panels, no telemetry, no plugins. Not too smart, not too big.
Text Editor
A minimal plain-text editor. Open, edit, save. No language modes, no syntax highlighting.
.mdMarkdown Editor
Typography-first markdown editor with muted syntax, on-demand preview, and KaTeX + Mermaid in the render pane.
.mdMarkdown Reader
A read-only markdown reader — GitHub-flavored, with KaTeX math and Mermaid — plus live typography controls. Reads, never edits.
.csvCSV Editor
Spreadsheet-shaped grid for comma-separated files. Virtualized rendering, Excel-keyed editing, RFC-4180 parsing.
.pdfPDF Reader
A PDF reader with lazy page rendering, real text selection, and a thumbnail sidebar. PDF.js under the hood.
.opmlRSS Reader
Three-column reader for OPML feed lists. Local sync, no accounts, no daemon. Just an OPML and a window.
PNG · JPEG · WebP · BMP · TIFF · GIF · ICOImage Editor
Crop, rotate, flip, resize, brightness, contrast, saturation, filters. Bake to any common raster format.
any imageImage Viewer
Open an image. Zoom, pan, fullscreen. No filters, no metadata panel, no thumbnails.
any fileFile Drop
Pair with a friend via a shared code, then drop a file. End-to-end encrypted, peer-to-peer over iroh QUIC, no accounts.
CPU · mem · disk · docker · GPUSystem Monitor
A glanceable system-load hint. One tab per resource — CPU, memory, storage drill-down, Docker images, GPU. No process table, no graphs wall.
.wavAudio Editor
Open or record a WAV. Drag to select, cut / trim / silence, save. Recording is a verb inside the editor — no separate recorder app.
.pngPaint
Open a blank canvas and draw. Brush, lines, rectangles, ellipses, flood fill, eyedropper, undo. One bitmap, no layers. Save as PNG.
.cssColor Editor
A calm color workbench. Discover, pick, and keep colors; derive shades and harmonies; save the set as a colors.css.
.pngPixel Editor
Set a grid, pick a color, and place pixels to build sprite-scale art. Save as a PNG where one cell is one image pixel. No layers, no project format.
The same install script works for every krill app. Pass the
repository name as the argument; it fetches the latest
.deb
from GitHub Releases and registers it via
apt
so it survives system upgrades.
Prefer AppImages? Download from each app's releases page and the in-app updater handles the rest via Help → Check for updates…
# e.g. the markdown editor
curl -fsSL https://raw.githubusercontent.com/krill-software/.github/main/install.sh \
| sh -s markdown-editor
# clone and build
git clone https://github.com/krill-software/<app>
cd <app> && pnpm install
pnpm tauri build