A home for small, quiet tools. Seventeen so far. Sixteen run in your browser and keep nothing; one lives on your desktop and keeps your files there.
No signup, no cookie banner, no onboarding tour. Open a tool, use it, close the tab.
- Arrive — no account, no cookie banner, no onboarding tour.
- Compute — every byte is processed in your browser.
- Forget — the suite forgets you the moment the tab closes.
- Keep — download the file. Desktop tools keep it on your disk.
Your GitHub year, wrapped in a calm little card. Named after the capybara.
Paste a GitHub username and you get a card showing:
- Total public contributions for the year
- A trendline of the year, month by month, with your busiest month marked
- Stars earned across your repositories
- Your top languages, and your most-starred repo
Download it as a PNG, or post it straight to X. Wide and square formats, light and dark. No signup, no cookies, nothing stored.
Random image and video prompts, tuned in your engine's dialect (Gemini, Midjourney, Flux, SDXL, Kling, Runway, Seedance).
- Tuned aspect ratios, platform destination frames, living-artist filters, and engine-specific negative clauses.
- Completely client-side generation.
Model-aware prompt engineering, scaled for flash and frontier models (Claude, DeepSeek, Gemini, GLM, GPT, Hunyuan, Qwen).
- Intent Elucidation: Interrogates vague asks with a task-type-aware questionnaire whose required depth scales with model capability tier (flash models require rigid constraints; frontier models skip them).
- Capability-Scaled Assembly: Injects role, numbered steps, negative constraints, and output schema for small models; stays intent-first for reasoning/frontier models.
- Multi-Provider LLM Polish: Optional polishing pass supporting OpenCode-Go, OpenRouter, Nous Portal, Command Code, and custom OpenAI-compatible endpoints with API keys saved locally in your browser.
Your photos talk. This one helps them forget.
Drop, paste or pick a photo and CapyStrip reads everything the file carries — GPS coordinates, device make/model/serials, timestamps, editing software, and AI-generation fingerprints (IPTC digital-source declarations, Stable Diffusion prompts, ComfyUI/NovelAI recipes, C2PA content credentials) — then decodes and re-encodes the image through a canvas so no metadata survives, and re-scans its own output to prove it. Full reports for HEIC and TIFF. Your photo never leaves this tab.
A local-first expense dashboard that reads a spreadsheet you type into yourself. The suite's documented desktop exception: a Tauri app with no network code that writes only to your own disk — stored on your machine, never ours. Everything else in the suite still runs 100% in your browser.
A card worth sharing. Compose Open Graph images and social cards right in the browser: four templates, six size presets from the 1200×630 link card to Pinterest's 1000×1500 pin, four accents, light and dark.
- Honest sizes: each preset carries what the platform actually documents (X crops to 2:1, LinkedIn needs ≥1200×627, Facebook accepts ≤8 MB) — not the folklore.
- What you see is what exports: the preview is the card at its canonical pixel size, scaled to fit; the download captures a full-size copy of those exact pixels.
- Export your way: PNG at 1×/2×/3×, JPEG with a quality slider, or copy the image straight to the clipboard for a paste into any composer.
No server route renders your card, nothing is uploaded, nothing is stored.
A code worth scanning. Compose styled QR codes right in the browser: link and text, Wi-Fi with spec-exact escaping, vCard contacts, and mailto — styled with dot shapes, corner treatments, colors, gradients, a quiet-zone slider and a center logo. Five Capy presets get you started.
- Proved, not promised: the tool scans its own output in-tab before you export and shows what decoded, next to a "verified scannable" chip.
- Honest guards: WCAG-style contrast, quiet zone measured in modules, payload capacity and logo-size notes — heuristics labeled as heuristics.
- Export your way: PNG or JPEG at 512–2048 px, or vector SVG when no logo is set.
No server route shortens or tracks your codes, nothing is uploaded, nothing is stored.
Every size it needs to be. Drop one image and either dial a target width or generate the whole favicon pack, right in the browser.
- Resize & convert: target width with an aspect lock, PNG/JPEG/WebP output, a quality slider, and JPEG alpha flattening onto a color you pick. Downscales go through progressive halving — repeated ~50% steps, the technique production tools ship — so fine lines survive.
- Favicon pack: one square-ish logo in, a ZIP out —
favicon.ico(16/32/48, PNG frames),apple-touch-icon.png(180), the 192 and 512 icons Chrome's install criteria name, a separate maskable 512 with the art inside the 40% safe zone,manifest.webmanifest, and the exact four-line<head>snippet. - Proof before you ship: honest before/after byte counts that only appear after real encoding, a 16/32 px strip showing whether your logo survives the tab, and notes that say what actually happened — animated GIFs take their first frame, and Safari's silent WebP-to-PNG fallback is named, not hidden.
No server route resizes anything, nothing is uploaded, nothing is stored.
Count before you spend. Paste the prompt you are about to send and CapyToken counts it exactly under both OpenAI encodings — o200k_base (GPT-5/4o era) and cl100k_base (GPT-4 era) — then prices it across a curated rate card of chat models: GPT-5.x and o-series, Claude, Gemini, Grok, DeepSeek, Llama 4, Qwen and Mistral.
- Exact where exact exists: the counts come from real BPE ranks, loaded lazily on first count; OpenAI's own rule-of-thumb (chars ÷ 4, words × ¾) sits beside them as the cross-check, and an optional +6 toggle adds per-message chat framing.
- Honest where nothing is exact: Claude, Gemini and the other non-OpenAI rows wear their label in plain sight — "estimate — OpenAI-tokenizer equivalent, not verified" — with Claude's own docs' ~+30% era note as the only quoted multiplier. Never a folklore number.
- Costed like you'll be billed: per-1M rates, input and planned-output costs, a calls-per-dollar read, and context-window bars that turn clay past 80% and name the model when your input won't fit.
- Dated on purpose: the rate card carries a "prices verified 2026-09" stamp and the LiteLLM commit it was snapped from — a snapshot you can check, not a promise it can't keep.
No server route counts or prices anything, no key is asked for, nothing is uploaded, nothing is stored.
Pictures, in chunks. Drop a photo or an SVG logo and one of six measured styles turns it into pixel art, right in the tab.
- Six styles, measured presets: faithful (the image's own colours), portrait (subject separations with dither off, palette bins and an outline), whale (the seven-blue brand ramp with tile gaps), Game Boy (the four greens), 1-bit (solid areas, dither only in transitions) and 1-bit halftone — honestly labelled a halftone, not 1-bit drawing.
- Honest levers: grid width, colour count, dither band, black/white points, gamma, outline and auto-levels — each with its explanation on the page. Live preview is capped for interactivity and says so; export always runs your full grid at integer scale, so tiles stay crisp.
- The maths is ported, not invented: palette matching in Oklab, contrast-modulated dither, percentile levels and an outline pass — every default benchmarked against a research prototype, with determinism asserted by tests (same image, same bytes, every run).
No server route quantizes anything, nothing is uploaded, nothing is stored.
Type a feeling, get a poster. Pick a mood pill — or land from a shared link — and a hand-tuned lexicon builds a deterministic five-role palette (field, mid, accent, surface, ink), then renders it as a poster card you can download, copy or tokenise.
- Constructed, not filtered: every palette is built to pass the guardrails — WCAG-AA ink-on-field contrast, capped chroma, hue harmony within ±30° — before a pixel is drawn. Same phrase, same seed, same card, forever (FNV-1a seed + mulberry32; no
Math.random()anywhere in a render path). - Honest about its brain: there is no AI here. 31 hand-tuned mood anchors, six synonyms and 30 start-colour stops across six families — unmatched phrases say so and improvise inside the guardrails instead of pretending to understand.
- Start from a colour: "start from warm orange" pins the palette to a real hex — the generated field lands on the tapped colour (±20° hue, ±0.14 lightness, asserted by tests), not merely in its neighbourhood.
- Posters worth keeping: two layouts (editorial poster, album-cover minimal), wide and square formats, retina preview and 2× export, seeded film grain, and copy-outs for CSS variables, Tailwind tokens and share text.
- Generate mode, a second palette family: pick a base colour and a harmony — complementary, split-complementary, analogous, triadic, tetradic or monochromatic — and hues land exactly on the rule's offsets, chroma is clamped per lightness and hue (culori's CSS-Color-4 gamut search), and the ink still clears 4.5:1. Same base, same rule, same variation, every time. The mood engine's ±30° spread rule deliberately does not apply here: a complementary pair is 180° apart by definition.
- Check mode, both rulers: the WCAG 2.x ratio — the conformance standard, with AA/AAA verdicts per text size — beside APCA 0.1.9 Lc, which is guidance, a candidate standard, not a law; the labels say exactly that, polarity included. The card's own ink-on-field pair is one tap away.
- Blend mode, gradients that say how they blend: two or three stops in linear, radial or conic shape, interpolated in oklab, oklch, oklch with the longer hue arc, or srgb — emitted as the modern
in-syntax string plus a dense hex-stop fallback that samples the same ramp for engines that would drop the declaration. - Extract mode, a website's palette, read honestly: paste a public page and CapyTone reads its static source — the html, up to five stylesheets, declared theme colours and manifest — ranks the colours it finds, and merges near-duplicates by CIEDE2000. The fetch is guarded end to end (DNS validated against reserved ranges on every redirect hop, byte-capped, time-boxed), nothing is stored, and the copy admits the gap: colours painted by JavaScript are invisible to it.
- Image mode, a photo's palette, picked in the tab: drop, paste or pick a photo and it is decoded by the browser and drawn to canvases — no upload, no route. The palette is sampled from a copy shrunk to 400 px on the long side (4-bit bins, then the same CIEDE2000 ranking as Extract with a wider merge threshold, up to twelve swatches); a click reads the original pixel, so hexes match the full-size photo. Copy-outs reuse the CSS-variable and Tailwind exporters. The picker is keyboard-operable (arrow keys, Shift for bigger steps, Enter to copy).
Colour math runs on culori (ISC); contrast guidance uses apca-w3 0.1.9 (Andrew Somers, Limited W3 License — used for web-content accessibility guidance, polarity preserved as its license requires); extraction parses CSS with css-tree (MIT).
No server route resolves a mood — the palette engine never touches a server. Image mode makes no request either. The one exception is Extract's /api/extract-palette, which fetches exactly the public URL you hand it, refuses private address ranges before and during the fetch, and returns counts and hexes while keeping nothing.
Cut the subject out of a photo and download a transparent PNG — or flatten it onto light, dark or any picked colour. Drop, paste or pick a file; a segmentation model runs in your tab and returns the matte in a blink.
- The photo never leaves the tab: there is no upload route in the code — the server never sees a pixel. The only bytes the tool fetches are the model and its runtime, from this site, on first use; the browser's Network panel during a cut, once the model is cached, shows zero requests.
- A real download disclosure: the first cut names the model's exact size (12.4 MB) and shows streamed progress against it. The model is then kept in your browser's Cache Storage and not re-fetched; a quiet link at the bottom of the page removes it again — it's your disk.
- Honest about its backend: the result line says where the cut ran — "on your GPU (WebGPU)" or "on your CPU (WebAssembly)" — with the real milliseconds. It never claims the GPU when it was the CPU.
- Finishing without re-cutting: backdrop (transparent, light, dark, any colour) and format (PNG, or JPEG with a quality slider where transparency allows it) recompose from the kept matte instantly; the before/after sizes are the real bytes.
- Demo, not decoy: before you hand over a photo, the idle state teaches the cut with a hand-drawn capybara and its matte — no model, no download.
The default model is MODNet (Apache-2.0, 12.4 MB). An opt-in detailed model for products and pets — BiRefNet_lite (MIT, 109 MB) — is offered on browsers whose GPU can run it. Where BiRefNet doesn't fit the GPU (Chrome on Windows reports one storage buffer too few), the detailed option uses ISNet general-use instead (Apache-2.0, 170 MB, rembg's export). If the GPU refuses either one, the tool says so plainly ("your GPU couldn't run the detailed model"), hides the option for the visit, and the cut finishes on the people model instead. For groups — or dark clothes on a dark backdrop, where a single-portrait model loses people — an opt-in group mode adds U²-Net human seg (Apache-2.0, 168 MB, the export rembg publishes): it decides who is in the photo, and MODNet still draws the edges. A detailed cut's edges are then recomputed at up to 2048 px by ViTMatte (MIT, 99 MB, trimap matting on 512² tiles), so clothing and hair edges don't carry a strip of backdrop. All five are served self-hosted from this site.
Put your mark on it. Watermark one photo or a whole batch — up to twenty at a time — with a text mark or your logo, placed once and carried across every shape of image in the run.
- Your photos never leave this tab: there is no upload route in the code, and the tool's sources may not so much as name a request API — a test refuses one. The Network panel during a batch shows only the page's own files.
- One design, every shape: the mark is stored relative to each photo — size as a fraction of the short side, position on a 9-point anchor — so the same design lands proportionally on portrait, landscape and square in one batch. Drag it, nudge it with the arrow keys, tile it in a grid or diagonally.
- The preview is the export: both are drawn by the same function, and the house fonts are asked for by name before anything draws, so what you see is what downloads. PNG, JPEG or WebP, with the real before/after bytes per file and in total.
- Honest failures, calm batches: photos are stamped one at a time with the tab left breathing; a file the browser can't read fails with its reason — "if it's an HEIC, export it as JPEG" — while the rest finish. Over twenty photos, the first twenty queue and the tool says so plainly.
- Presets that are only settings: save a design by name in your browser and apply it next visit. A preset is the design, never your photos or logo — the logo is re-picked on apply.
- Demo, not decoy: the idle state stamps a canvas-painted dusk scene, fetched from nowhere.
A watermark is a deterrent, not protection — CapyStamp puts your mark on your work; it doesn't pretend anyone can't crop it out.
The words are in there; CapyRead gets them out. Drop a photo, a screenshot or a scanned PDF and read the text back in your tab — on the Tesseract engine, with every paragraph's confidence shown and nothing uploaded anywhere. A page photographed sideways or upside-down is turned until it reads, and a crooked one is straightened, with the tool saying exactly what it did.
- Your document never leaves this tab: there is no upload route in the code, and the tool's sources may not so much as name a request API — a test refuses one. The only download is the language model, from this site, on a language's first use.
- Honest about the hard parts: words the engine is guessing at print as [unreadable] instead of a wrong guess, every paragraph carries a high / fair / unsure badge in words — never colour alone — and handwriting or very low-resolution scans often fail. This is a reader, not a restorer.
- Orientation and skew come from the reads themselves: when a page reads poorly the other three quarter-turns are tried and the best wins — no extra orientation model downloaded — and a page a few degrees off is straightened and read again. Straight pages never pay for any of it.
- PDFs, page by page: a PDF is rasterised in the tab and read one page at a time, up to ten per run, with the page count and any skipped pages shown before you start. Each page lands in the words card as it finishes.
- Eighteen languages: English ships fast (about 1.9 MB, the default) and standard (about 10.4 MB, for rough pages); German through Korean ship the fast model. Each downloads once from this origin, is kept in the browser's own storage, and has a one-click forget control.
- Editable, then exportable: fix the OCR's slips by hand in the editor, then copy, or download .txt or .docx — plain paragraphs, so your own Word styles apply.
A photo that fits the published rules, made in your tab. Drop a portrait and CapyPassport finds the face, frames it to the document you pick — US passport, UK passport or a Schengen visa — and shows the numbers that document's guidance asks for: head height, top margin, eye line, each read against the published band in words. Download the single photo at the size the online portal wants, or a print sheet laid out at exactly 4 × 6 inches to cut at home.
- Your photo never leaves this tab: detection runs in the browser on a face model served from this site; there is no upload route in the code.
- Honest about the estimate: the rules measure chin to crown, and no detector can see where hair ends — so the crown is an estimate, the readout says so, and sliders fine-tune the fit. Sliders can leave the published range on purpose; the readout tells you when they do.
- The background stays as shot: filling it is opt-in, runs the same people-cutting model CapyBg uses, and carries the warning that several authorities require a photo unaltered by software.
- Sources on the card: every document's figures carry the date they were last checked and a link to the authority's own page — and the standing advice to confirm there before you file. Geometry is all this tool checks; expression, glasses and headwear are yours.
A résumé that's actually yours, made in your tab. Fill in your details and sections, pick one of six single-column templates and A4 or US Letter, then download a real PDF, a Word file, or a JSON backup of the whole thing.
- Stored in this browser only: what you type stays in this browser's own storage so it's there next visit, and never goes anywhere else — there is no account, no server copy and no upload route in the code.
- A real PDF: selectable, copyable text in embedded open-licence fonts (Latin, Cyrillic and Greek), with clickable links — not a picture of a document. Every template is one plain column, the layout parsers read best; no template is promised to pass any particular hiring system.
- Free, unlimited, unwatermarked: every export, every time. The JSON backup is the escape hatch — clearing browser data deletes the résumé, so a backup is how you keep it, and a file that isn't one is refused rather than imported empty.
Invoices, quotes and receipts, printed properly. Fill in the parties, the line items and the tax, and download a real PDF — A4 or US Letter, in any ISO 4217 currency.
- The arithmetic is checkable: every amount is held as an integer of the currency's smallest unit; tax is calculated on each line at the line's own rate; a discount is applied before tax and spread across the lines in proportion to their amounts. The rules are printed in the PDF's fine print.
- One document, three voices: a quote prints "Valid until" where an invoice prints "Due" and leaves the payment rows off; a receipt leads with what was paid and shows the balance.
- Stored in this browser only: the draft, your business profile and the logo never leave this tab — there is no account, no server copy and no upload route in the code. The JSON backup is the escape hatch, and a file that isn't one is refused rather than imported empty.
Nothing you type, drop or upload into a tool leaves the tab. There is no account to make and no database to leak.
The one documented exception is CapyTone's Extract mode: the address you paste is fetched by the site's server (through the guarded route described in CapyTone's section) so it can read the page's colours on your behalf. Only counts and hexes come back — the fetched content is never stored, logged, or echoed.
The site runs on Cloudflare Workers, deployed
from main. Pages and assets come off Cloudflare's edge; the only server code
in the whole suite is four small API routes — three that read public GitHub data
for CapyWrapped's cards, and CapyTone's Extract fetch. Every other tool computes
in your tab and never asks a server for anything.
The API routes are rate limited at the edge and their responses are cached, so a repeated request for the same public profile is answered without calling GitHub again. None of that involves you: no cookie, no identifier, nothing stored.
Bug reports and pull requests are welcome — start with CONTRIBUTING.md, which covers the promise each tool keeps, the design system, and how to add a tool.
Found something broken? Open an issue with the tool name and what you expected.
Apache-2.0. Copyright 2026 unfoldingdimensions.