Supporting projects
Tools from the blog
Orthogonal is a blog first. These optional tools support some of its articles. Read a tool introduction for its purpose, limitations, privacy boundaries, and related reading, or open the app directly.
Images
QuickShrink
Compress and convert images before publishing or sharing them.
- Formats and limits
- JPEG, PNG, and WebP. Free: 20 compressions per day. Pro: $3.99 once for batch, format, resize, preset, and ZIP features.
- Input processing and page requests
- Image compression stays in this browser. First-party usage events are sent separately; Stripe handles checkout if chosen.
PixelStrip
Remove EXIF and location metadata from photos before sharing.
- Formats and limits
- JPEG metadata inspection; other browser-readable images have limited inspection. Export is JPEG.
- Input processing and page requests
- Inspected code processes files locally. Google AdSense and Cloudflare Analytics still load.
Developer utilities
QuickShrink CLI
Batch-compress project images from a terminal or CI workflow.
- Formats and limits
- JPEG, PNG, WebP, and AVIF workflows. Requires a supported Node.js environment.
- Input processing and page requests
- The downloadable package processes image files locally. Review the package and its dependencies before running it; installation can make network requests.
Base64Lab
Encode and decode Base64 text and files without pasting data into a remote form.
- Formats and limits
- Text, files, images, data URIs, URL-safe, MIME wrapping, and per-line modes; 50 MB file limit.
- Input processing and page requests
- Inspected code processes input locally. First-party aggregate telemetry and Cloudflare Analytics still load.
HashForge
Generate and compare hashes for text or files.
- Formats and limits
- MD5, SHA-1, SHA-256, SHA-384, SHA-512, HMAC, comparison, hex, and Base64. Files load fully into memory.
- Input processing and page requests
- Hashing code processes text, file bytes, and HMAC inputs in the browser. Advertising and analytics requests are separate from those inputs.
RegexLab
Test and debug regular expressions against sample text.
- Formats and limits
- JavaScript regex, flags g/i/m/s/u/d, replacement, capture groups, test cases, and a pattern library.
- Input processing and page requests
- Inspected code keeps patterns and samples in the browser and localStorage. Cloudflare Analytics still loads.
PassForge
Generate random passwords with configurable length and character sets.
- Formats and limits
- Passwords 4–128 characters, passphrases 3–12 words, and bulk generation. Strength times are estimates.
- Input processing and page requests
- Inspected code uses browser cryptography locally. Cloudflare Analytics still loads.
Productivity
TypeFast
Store, search, and copy reusable text snippets in a browser.
- Formats and limits
- Titles, categories, snippet bodies, search, filtering, and clipboard copy. It is not a system-wide text expander.
- Input processing and page requests
- Snippets stay in unencrypted browser localStorage. Google AdSense and Cloudflare Analytics still load.
Input processing is only one boundary
Browser-based processing does not mean a page makes no network requests: analytics, ads, hosting, and payment pages are separate. QuickShrink CLI runs locally after you review and install its package and dependencies. Never paste production secrets into a tool unless you have independently reviewed it and your organization permits it.
DiffLab is not listed because its current URL does not serve a working comparison tool.