about
bytefork is a growing collection of small, focused tools built for developers. The default is private by default: nearly every tool runs in your browser, so your input never leaves your device. A few tools need a server because the browser physically can't do the job — and each one is labeled and spells out exactly what it does. Every free tool needs no account, no signup, and never bills you. A small, clearly-marked Pro lane (paid, credit-based) exists only for heavy server work the browser can't do — it never gates or replaces a free tool. No input telemetry. The source is open.
# principles
- Private by default. No input telemetry, no tracking cookies. Open DevTools → Network and watch nothing happen — on every client-side tool. The few that use a server are flagged with a badge and a notice. Free tools need no account.
- Free tools stay free — at $0 to you. We add a free-tool backend strictly when a tool can't run client-side (e.g. a redirect that has to resolve from any device, a DNS query a browser can't issue), and only while it stays within Cloudflare's free tier. A free tool never becomes paid.
- Fast. Static HTML on Cloudflare's edge. One small JavaScript bundle per tool. WASM codecs lazy-loaded only when used.
- No surprise paywalls — and no signup, ever. The free tools are free, forever. Billable work is metered in credits, and every visitor gets a daily free allowance with no account. A small set of clearly-badged Pro tools (heavy server work the browser can't do, like hours-long audio transcription) can be topped up with paid credits via a no-signup credit key — opt-in, priced up front, and never gating or replacing anything that was free.
- Honest. The privacy promise is mechanical, not marketing: client-side tools are static pages that can't phone home. When a tool does use a server, we don't hide it — it's labeled on the tool and tells you whether it stores your input, proxies a request and keeps nothing, or sends it to an AI model, and why.
# tools
85 tools live. See the full grid for icons and one-line summaries.
- json-to-csv [data] Convert JSON to CSV and back. 100% in your browser.
- regex-tester [dev] Test, debug, and explain regular expressions.
- qr-code-generator [generator] Generate branded QR codes with a custom logo overlay.
- image-compressor [image] Compress JPG, PNG, and WebP without quality loss.
- image-size-converter [image] Resize JPG, PNG, and WebP to exact pixel dimensions.
- jwt-decoder [dev] Decode and verify JSON Web Tokens (HS256, RS256, ES256) in your browser.
- markdown-html-converter [data] Convert GitHub-flavored Markdown to HTML and back. Live preview, syntax highlighting.
- pdf-to-markdown [data] Extract a PDF to clean Markdown or structured JSON, entirely in your browser. Headings, paragraphs, per-page text. No upload, no signup.
- exif-viewer [image] Inspect and remove camera, GPS, and personal metadata from images. Lossless.
- palette-generator [generator] Press space to generate harmonious palettes. Lock favorites, regenerate the rest. Export CSS, JSON, SVG, PNG.
- color-picker [dev] Hex / RGB / HSL / OKLCH / HWB conversion, WCAG contrast, image palette extraction, Tailwind-style scale from any color.
- favicon-generator [generator] Web favicon pack, iOS AppIcon.appiconset, Android launcher (mipmap + adaptive), or custom-size zip — from one image.
- json-reviewer [data] Validate, pretty-print, and minify JSON. Pinpoint syntax errors by line and column.
- json-yaml-converter [data] Convert JSON to YAML and back. Kubernetes-friendly, block or flow style, sort keys.
- diff-checker [dev] Compare two texts or JSON documents. Line, word, char, and JSON-aware modes.
- cron-builder [dev] Describe any cron expression in plain English and preview the next 10 fires in your timezone.
- json-to-types [data] Generate TypeScript, Zod, Go, Rust, Python, and 6 more languages from a JSON sample.
- hash-generator [dev] MD5, SHA-1, SHA-256, SHA-384, SHA-512 of text or files in your browser. Hex / Base64 / Base64url.
- curl-converter [dev] Convert a curl command to fetch, axios, Python, Go, Rust, and 10 more targets.
- cidr-calculator [dev] IPv4 subnet math: network, broadcast, host range, mask, split, contains check.
- image-converter [image] Convert JPG ↔ PNG ↔ WebP in your browser. Batch, quality control, lossless WebP.
- svg-optimizer [image] Shrink SVG with SVGO: strip editor cruft, round numbers, preserve rendering. Runs in your browser.
- mock-data-generator [data] Generate fake JSON / JSON Lines / CSV / SQL INSERT records from a template. Powered by faker.
- mermaid-renderer [image] Render flowcharts, sequence, class, state, ER, Gantt, and pie diagrams from Mermaid source. Export SVG / PNG.
- percentage-calculator [dev] Five modes: percent-of, is-what-percent, percent-change, increased-by, decreased-by.
- base64-encoder [dev] Encode/decode Base64 in your browser. Text and file modes, standard and URL-safe variants. UTF-8 aware.
- base-converter [dev] Convert integers between decimal, binary, hex, and octal. BigInt-backed.
- aspect-ratio-calculator [image] Simplify W×H to a ratio, or derive the missing dimension from a target ratio. 8 common presets.
- byte-size-converter [dev] Convert B / KB / MB / GB / TB / PB with IEC (1024) and SI (1000) standards side by side.
- uuid-generator [generator] UUID v4 / v7, ULID, Nano ID, hex token, short ID. Crypto-secure. Batch up to 1000.
- timestamp-converter [dev] Convert Unix timestamp ↔ ISO 8601 / local / UTC. Auto-detect seconds vs ms vs μs. Live ticker.
- duration-calculator [dev] Hours and minutes between two times. Overnight wraparound, break deduction, decimal-hours output.
- date-difference-calculator [dev] Days, business days, weeks, months, years between any two dates. Y/M/D breakdown.
- password-generator [generator] Strong random passwords or XKCD-style passphrases. Crypto-secure, ambiguous-char exclusion, entropy meter.
- lorem-ipsum [generator] Words, sentences, paragraphs, or lists of placeholder text. HTML or markdown output.
- bitwise-calculator [dev] AND, OR, XOR, NOT, shifts on two integers. 8/16/32/64-bit widths. BigInt-backed.
- slug-generator [dev] Turn any string into 7 case styles: kebab, snake, camel, pascal, dot, title, SCREAMING_SNAKE.
- ab-test-calculator [dev] Two-proportion z-test with p-value, confidence interval, and relative lift. 90 / 95 / 99% levels.
- raid-calculator [dev] Usable, raw, and parity capacity for RAID 0/1/5/6/10/50/60. Fault tolerance and efficiency.
- jsonpath-tester [data] Query JSON with $.path.expressions live. Filter, slice, recursive descent. jsonpath-plus.
- har-viewer [dev] Open .har captures from Chrome / Firefox DevTools. Filter, inspect headers and bodies. Local-only.
- graphql-visualizer [dev] Browse GraphQL SDL types, fields, args, unions, enums, interfaces. Cross-type navigation.
- url-encoder [dev] Percent-encode and decode URLs. Component, full-URL, and form modes. URL parts breakdown.
- html-entity-encoder [dev] Encode HTML entities (& < > ") or decode entity-escaped text. Named, decimal, hex modes.
- http-status-reference [dev] Every HTTP status code with description, RFC source, and typical use. Searchable by code, name, or use-case.
- sql-formatter [dev] Format SQL for Postgres, MySQL, BigQuery, Snowflake + 13 more dialects. Configurable keyword case and width.
- ascii-art-generator [generator] Turn text into ASCII banners with 10 figlet fonts. Standard, Big, Slant, ANSI Shadow + more.
- key-fingerprint [dev] SHA-256, SHA-1, MD5 fingerprints for SSH public keys and PEM blobs. OpenSSH-style and hex output.
- toml-json-converter [data] Convert between TOML and JSON. Tables, arrays of tables, dates. Bidirectional via smol-toml.
- http-client [dev] Send any HTTP request (GET/POST/PUT/PATCH/DELETE) with custom headers + body, see the full response, copy as curl. CORS-free via an edge proxy.
- ai-regex-generator [dev] Describe what to match in plain English, get a regex + explanation, and test it in one click. Free, no signup.
- ai-commit-message [dev] Paste a git diff, get a clean Conventional Commit message. Free, no signup. The diff is sent to an AI model and not stored.
- sql-playground [data] Run real SQLite in your browser — empty DB, open a .sqlite file, or import a CSV. Query and export, all client-side (WASM). No upload.
- qr-scanner [generator] Scan a QR code with your camera or from an image, in your browser. Nothing uploaded; camera used only while scanning.
- csv-viewer [data] Open a CSV, filter and sort it, export to CSV or JSON — entirely in your browser. No upload, no row paywall.
- csv-chart [data] Turn CSV data into a bar, line, or pie chart and export as SVG — in your browser, nothing uploaded.
- xlsx-converter [data] Convert Excel/ODS spreadsheets to CSV or JSON and back to XLSX — in your browser, nothing uploaded.
- json-xml-converter [data] Convert JSON to XML and back, both directions, in your browser. Attributes and text nodes preserved. No upload.
- unicode-inspector [dev] Break any string into code points, categories, escapes (JS / HTML / URL), and NFC/NFD/NFKC/NFKD normalization. In your browser.
- css-unit-converter [dev] Convert px ↔ rem ↔ em ↔ pt ↔ % ↔ vw ↔ vh. Configurable root font-size and viewport.
- watermark-remover [image] Brush over a watermark; the tool inpaints the area from surrounding pixels. Browser-only. Modest quality by design.
- background-remover [image] Strip image backgrounds with BiRefNet running locally in your browser. PNG with alpha or solid color replacement.
- image-to-text [image] Extract text from screenshots, scans, and photos in 10 languages. tesseract.js, runs in your browser.
- pdf-editor [data] Reorder, rotate, split, merge pages. Annotate, sign, fill forms. All in your browser, no upload.
- pdf-metadata-stripper [data] Inspect and remove PDF Info dictionary + XMP metadata in your browser. Field-level toggle, before/after view.
- markdown-table-generator [data] Paste CSV / TSV / pipe-separated rows. Output a GitHub-flavored Markdown table with column alignment.
- video-trimmer [video] Split videos into clips or merge into one. One-click export to 1080×1920 vertical MP4 for YouTube Shorts and TikTok. Browser-only, no upload.
- video-compressor [video] Compress MP4, MOV, WebM, MKV, AVI to smaller MP4 (H.264 + AAC). Three quality presets, optional resolution cap. Runs entirely in your browser.
- youtube-shorts-converter [video] Resize any video to 1080×1920 vertical MP4 for YouTube Shorts, TikTok, and Instagram Reels. Pad or crop mode. Browser-only, no upload.
- audio-to-text [video] Transcribe audio & video files with Whisper running locally in your browser. Export TXT, SRT, VTT. Includes SRT/VTT subtitle converter. No upload.
- audio-recorder [video] Record from any microphone and download as WebM, WAV, MP3, M4A, or OGG. Optional local Whisper transcription. Browser-only, no upload.
- url-shortener [generator] Shorten a long link so it fits in a simpler, easier-to-scan QR code. The one tool here with a server — and it tells you exactly what it stores.
- tier-list-maker [generator] Drag-and-drop S/A/B/C/D tier lists. Upload images, customize tiers, export PNG. Browser-only, auto-saves locally.
- whats-my-ip [dev] See your public IP, network (ASN), approximate location, and TLS/HTTP connection details. Read at the edge, stored nowhere.
- http-header-checker [dev] Inspect any URL's response headers, follow its redirect chain, and grade its security headers (HSTS, CSP, X-Frame-Options). Runs on the edge, stores nothing.
- og-preview [dev] See how a link will look when shared and audit its OpenGraph, Twitter Card, and meta tags. Fetched on the edge — URL not stored, image never hotlinked.
- mock-api [dev] Paste a JSON (or any) response, pick a status and content-type, and get a stable public endpoint that returns it. Free fake API. No signup.
- one-time-secret [generator] Share a password or note via a link that works once, then self-destructs. End-to-end encrypted in your browser — the server only holds an unreadable blob.
- pastebin [dev] Paste text or code, get a shareable link that expires (1 hour to 30 days). No account, no ads.
- file-share [generator] Upload a file (up to 25 MB), get a shareable link that expires in 1 hour to 7 days, then auto-deletes. No signup. Guarded to always stay $0.
- temp-mail [dev] Generate a throwaway, receive-only email address, catch a verification message, and let it self-destruct in an hour. No signup. Anti-abuse by design.
- webhook-tester [dev] Get a temporary URL, point any webhook at it, and watch incoming requests — method, headers, body — arrive live. Free, no signup. Bins auto-expire in 24h.
- email-auth-checker [dev] Check a domain's SPF, DKIM, and DMARC records and get a plain-English verdict on spoofing protection. Live DNS lookups on the edge — nothing stored.
- dns-lookup [dev] Look up A, AAAA, MX, TXT, CNAME, NS, and more for any domain. Run on the edge via DNS-over-HTTPS — your browser never makes the query and nothing is stored.
- ct-subdomain-finder [dev] Find every subdomain and TLS certificate a domain published to Certificate Transparency logs. Passive recon via crt.sh on the edge — no packets to the target.
# stack
- Astro 6 in static mode — every route pre-rendered to HTML.
- Preact islands hydrated only on tool pages.
- MDX for tool body content with schema-validated frontmatter.
- WebAssembly for heavy codec work (jsquash for image compression, Shiki for syntax highlighting).
- Cloudflare Pages for hosting. GitHub Actions for CI/CD.
- No tracking. No Google Analytics, no Hotjar, no fingerprinting.