# Andergrove Software > Free, private, browser-based tools — developer utilities, security and > crypto helpers, calculators, converters, AI/LLM helpers and games — plus > practical articles. Every tool runs locally in the browser: no sign-up, > and nothing the user types is uploaded. Each tool page has a companion guide (a standalone how-to article) linked below it. ## Free Developer Tools - [JSON Validator](https://andergrove.com/tools/json-validator/): Validate and pretty-print JSON with the exact position of any syntax error — trailing commas, single quotes, bad escapes. Runs locally, nothing uploaded. - [JSON Schema Basics: Validate Structure, Not Just Syntax](https://andergrove.com/tools/json-validator/guide/) - [Base64 Encoder / Decoder](https://andergrove.com/tools/base64/): Encode and decode Base64 text (UTF-8 safe) and Base64-encode any file, right in your browser. Nothing is uploaded. - [Base64 in JavaScript, Python and Bash](https://andergrove.com/tools/base64/guide/) - [JWT Decoder](https://andergrove.com/tools/jwt-decoder/): Decode, verify and generate JSON Web Tokens in your browser. Inspect claims, verify HS/RS/ES/PS/EdDSA signatures, decrypt JWEs and sign new tokens. - [JWT Guide: Decode, Verify & Sign JSON Web Tokens](https://andergrove.com/tools/jwt-decoder/guide/) - [Regex Tester](https://andergrove.com/tools/regex-tester/): Test regular expressions with live match highlighting and capture groups. Uses your browser's own regex engine — nothing is uploaded. - [Regex Lookahead, Lookbehind and Named Groups (with Examples)](https://andergrove.com/tools/regex-tester/guide/) - [Unix Timestamp Converter](https://andergrove.com/tools/timestamp-converter/): Convert Unix timestamps to human dates and back, with live epoch time and timezone-aware output. Runs entirely in your browser. - [Convert a Unix Timestamp in Any Language — Andergrove](https://andergrove.com/tools/timestamp-converter/guide/) - [Time Zone Converter](https://andergrove.com/tools/timezone-converter/): Convert any date and time between cities and time zones, DST-aware, and compare working hours to find a meeting slot. Free and browser-based. - [UTC, GMT and Time Zone Abbreviations, Explained — Andergrove](https://andergrove.com/tools/timezone-converter/guide/) - [URL Encoder / Decoder](https://andergrove.com/tools/url-encoder/): Encode or decode URLs and query strings (percent-encoding), with a breakdown of any URL into host, path and decoded parameters. Free, runs in your browser. - [URL Encoding Explained: %20, +, and Percent-Encoding](https://andergrove.com/tools/url-encoder/guide/) - [SQL Formatter](https://andergrove.com/tools/sql-formatter/): Format and beautify SQL queries — clause-aware indentation, keyword uppercasing, one column per line — or minify to a single line. Free, runs in your browser. - [How to Format SQL: A Practical Style Guide — Andergrove](https://andergrove.com/tools/sql-formatter/guide/) - [Cron Expression Parser](https://andergrove.com/tools/cron-parser/): Paste a cron expression to get plain English and the next 10 run times in any time zone. Presets for common schedules. Free, runs in your browser. - [Cron Expressions Explained: The 5 Fields and Their Traps](https://andergrove.com/tools/cron-parser/guide/) - [YAML Validator & Converter](https://andergrove.com/tools/yaml-converter/): Validate YAML with line/column errors and convert YAML to JSON or JSON to YAML — Kubernetes manifests, CI configs, compose files. Free, runs in your browser. - [YAML vs. JSON: Syntax, Gotchas, and the Norway Problem](https://andergrove.com/tools/yaml-converter/guide/) - [CSV ↔ JSON Converter](https://andergrove.com/tools/csv-converter/): Convert CSV to JSON and JSON to CSV with proper quote handling, delimiter auto-detect, header and type options, file upload and download. Runs in your browser. - [CSV Is Harder Than It Looks: Quoting, Delimiters, Encodings](https://andergrove.com/tools/csv-converter/guide/) - [Code Minifier & Beautifier](https://andergrove.com/tools/code-minifier/): Minify or beautify HTML, CSS and JavaScript in your browser — comment stripping, whitespace collapse and re-indenting, with byte savings shown. Free and local. - [Minification vs. Compression: What Makes Pages Faster](https://andergrove.com/tools/code-minifier/guide/) - [XML Formatter & Converter](https://andergrove.com/tools/xml-formatter/): Format and validate XML with strict parser errors, minify it, or convert XML to JSON and JSON to XML with the standard @attribute/#text mapping. Runs locally. - [XML vs. JSON: Attributes, Arrays and Converting — Andergrove](https://andergrove.com/tools/xml-formatter/guide/) - [HTML Entity Encoder / Decoder](https://andergrove.com/tools/html-entities/): Escape HTML special characters or decode &-style entities back to text, with a searchable reference of named and numeric entities. Runs in your browser. - [HTML Entities: When to Escape and Why](https://andergrove.com/tools/html-entities/guide/) - [PX ↔ REM Converter](https://andergrove.com/tools/px-to-rem/): Convert px to rem and rem to px instantly. Set any root font size, see a table of common values, and copy ready-to-paste CSS. Free, no sign-up. - [PX vs. REM vs. EM: Which CSS Unit Should You Use?](https://andergrove.com/tools/px-to-rem/guide/) - [Web Framework Finder](https://andergrove.com/tools/framework-finder/): Answer a few questions — language, rendering, what you're building — and get a ranked shortlist of web frameworks with stars and notable users. - [How to Pick a Web Framework with the Framework Finder](https://andergrove.com/tools/framework-finder/guide/) - [.gitignore Generator](https://andergrove.com/tools/gitignore-generator/): Compose a .gitignore for your OS, editor, language and framework in seconds — Node, Python, Go, Rust, Terraform and more. Copy or download, in-browser. - [.gitignore Explained: Patterns, Pitfalls and a Generator](https://andergrove.com/tools/gitignore-generator/guide/) - [JSON to TypeScript / Zod / Pydantic Converter](https://andergrove.com/tools/json-to-types/): Paste JSON and get TypeScript interfaces, Zod schemas, Pydantic models or Go structs — nested types named, optional fields detected. Runs locally. - [Generating Types from JSON: TypeScript, Zod, Pydantic and Go](https://andergrove.com/tools/json-to-types/guide/) - [Chmod Calculator](https://andergrove.com/tools/chmod-calculator/): Convert Linux file permissions between checkboxes, octal (755, 644) and rwx notation — with setuid/setgid/sticky bits and plain-English explanations. - [Linux File Permissions Explained: chmod, Octal and rwx](https://andergrove.com/tools/chmod-calculator/guide/) - [HTTP Status Code Reference](https://andergrove.com/tools/http-status-codes/): Every HTTP status code explained in practical terms — 1xx to 5xx plus the nginx and Cloudflare codes (499, 522) you meet in real logs. Works offline. - [HTTP Status Codes Explained](https://andergrove.com/tools/http-status-codes/guide/) - [UUID Generator](https://andergrove.com/tools/uuid-generator/): Generate random UUID v4 identifiers in bulk, with uppercase and no-dashes options and one-click copy. Uses your browser's secure RNG — nothing is uploaded. - [How to Generate a UUID in Any Language](https://andergrove.com/tools/uuid-generator/guide/) - [Color Picker & Converter](https://andergrove.com/tools/color-converter/): Pick a colour and convert between HEX, RGB and HSL, with a built-in WCAG contrast checker. Runs entirely in your browser. - [How to Check Color Contrast for WCAG AA — Andergrove](https://andergrove.com/tools/color-converter/guide/) - [CSS Gradient Generator](https://andergrove.com/tools/gradient-generator/): Create linear and radial CSS gradients visually: pick colours and stops, set the angle, preview live, and copy the CSS. Runs entirely in your browser. - [CSS Gradients: linear, radial and conic — Andergrove](https://andergrove.com/tools/gradient-generator/guide/) - [Number Base Converter](https://andergrove.com/tools/base-converter/): Convert numbers between binary, octal, decimal, hexadecimal and any base from 2 to 36. Arbitrary-precision, updates live, runs entirely in your browser. - [How to Read Hex and Binary Fluently](https://andergrove.com/tools/base-converter/guide/) - [Subnet & CIDR Calculator](https://andergrove.com/tools/cidr-calculator/): Get the network and broadcast address, usable host range, netmask, wildcard mask and host count for any IPv4 CIDR block — and split it into subnets. - [Subnetting Guide: Masks, Hosts and CIDR — Andergrove](https://andergrove.com/tools/cidr-calculator/guide/) - [DNS Lookup](https://andergrove.com/tools/dns-lookup/): Look up a domain's DNS records — A, AAAA, MX, TXT, NS, CNAME, CAA and SOA — live from your browser over DNS-over-HTTPS, each explained in plain English. - [DNS Lookup Guide: Reading A, MX, TXT and NS Records](https://andergrove.com/tools/dns-lookup/guide/) ## Security & Crypto Tools - [SSL Certificate Decoder](https://andergrove.com/tools/certificate-decoder/): Decode an X.509 / SSL certificate from PEM and read its subject, issuer, validity, SANs, key details and fingerprints. Runs entirely in your browser. - [How to Fix Common SSL Certificate Errors — Andergrove](https://andergrove.com/tools/certificate-decoder/guide/) - [Certificate to CSR](https://andergrove.com/tools/cert-to-csr/): Paste a PEM certificate to generate an OpenSSL command that creates a matching CSR (with a new private key), reusing the subject and SANs. Runs in your browser. - [Certificate to CSR Guide: Generate a CSR Command](https://andergrove.com/tools/cert-to-csr/guide/) - [Password Generator](https://andergrove.com/tools/password-generator/): Generate strong, random passwords in your browser — choose length, symbols and numbers, with a live strength meter. Nothing is uploaded. - [Strong Password Rules That Actually Matter — Andergrove](https://andergrove.com/tools/password-generator/guide/) - [Password Strength Checker](https://andergrove.com/tools/password-strength/): Check how strong your password is and how long it would take to crack. See its entropy, weaknesses and fixes — entirely in your browser. - [How Password Cracking Actually Works](https://andergrove.com/tools/password-strength/guide/) - [Hash Generator](https://andergrove.com/tools/hash-generator/): Generate SHA-1, SHA-256, SHA-384 and SHA-512 hashes of text or a file, live, using your browser's Web Crypto API. Private and offline — nothing is uploaded. - [How to Verify a SHA-256 File Checksum](https://andergrove.com/tools/hash-generator/guide/) - [HMAC Generator](https://andergrove.com/tools/hmac-generator/): Generate an HMAC from a message and secret key using SHA-1, SHA-256, SHA-384 or SHA-512. Hex or Base64 output, computed entirely in your browser. - [Hash, HMAC, Signature or Encryption?](https://andergrove.com/tools/hmac-generator/guide/) - [AES Text Encryption](https://andergrove.com/tools/aes-encrypt/): Encrypt and decrypt text with a password using AES-256-GCM, right in your browser. Standards-based, with a PBKDF2-derived key — nothing is uploaded. - [How Password-Based Encryption Works](https://andergrove.com/tools/aes-encrypt/guide/) - [TOTP Generator](https://andergrove.com/tools/totp-generator/): Generate time-based one-time passwords (TOTP) from a Base32 secret — the same 2FA codes as Google Authenticator. Live countdown, all in your browser. - [How to Back Up Your Authenticator App (and Recover 2FA)](https://andergrove.com/tools/totp-generator/guide/) - [.htpasswd Generator](https://andergrove.com/tools/htpasswd-generator/): Generate .htpasswd entries for Apache and nginx basic auth — bcrypt, Apache MD5 (apr1) or SHA-1. Hashed entirely in your browser, never uploaded. - [Password-Protect a Site with Basic Auth — Andergrove](https://andergrove.com/tools/htpasswd-generator/guide/) - [Password Leak Checker](https://andergrove.com/tools/password-leak-checker/): Check if a password has appeared in a data breach. It is hashed locally and only a 5-character hash prefix is sent (k-anonymity) — never the password. - [How to Check if a Password Was Breached — Andergrove](https://andergrove.com/tools/password-leak-checker/guide/) - [SSH Key Generator](https://andergrove.com/tools/ssh-key-generator/): Generate an Ed25519 or RSA 4096 SSH key pair in OpenSSH format, entirely in your browser. The private key is created on your device and never uploaded. - [SSH Key Generator Guide: Create and Install an Ed25519 Key](https://andergrove.com/tools/ssh-key-generator/guide/) - [Email Auth Checker](https://andergrove.com/tools/email-auth-checker/): Check a domain's SPF, DKIM and DMARC records and get plain-English fixes. Fetched live over DNS-over-HTTPS in your browser — only the domain name is sent. - [Email Authentication Guide: SPF, DKIM and DMARC Explained](https://andergrove.com/tools/email-auth-checker/guide/) - [CSP Builder & Analyzer](https://andergrove.com/tools/csp-builder/): Analyze a Content-Security-Policy for weak directives with plain-English fixes, or build a strict CSP from a safe baseline. Runs in your browser. - [Content-Security-Policy: Writing a CSP](https://andergrove.com/tools/csp-builder/guide/) - [File Encryptor](https://andergrove.com/tools/file-encrypt/): Encrypt or decrypt any file with a password using AES-256-GCM, entirely in your browser. The file and password never leave your device — nothing is uploaded. - [File Encryptor Guide: Password-Protect a File with AES-256](https://andergrove.com/tools/file-encrypt/guide/) - [CSR Decoder](https://andergrove.com/tools/csr-decoder/): Decode a PKCS#10 Certificate Signing Request in your browser: subject, Subject Alternative Names, key type and size, signature algorithm. Nothing uploaded. - [CSR Decoder Guide: Checking a Certificate Signing Request](https://andergrove.com/tools/csr-decoder/guide/) - [CVSS Calculator](https://andergrove.com/tools/cvss-calculator/): Score a vulnerability with CVSS v3.1: click the base and temporal metrics for a score, severity and vector string, or parse an existing vector. Runs locally. - [How to Read a CVSS Score](https://andergrove.com/tools/cvss-calculator/guide/) - [SRI Hash Generator](https://andergrove.com/tools/sri-generator/): Generate a Subresource Integrity hash for a JS or CSS file and get a ready-to-paste tag with integrity and crossorigin. SHA-256/384/512, in-browser. - [Subresource Integrity: How to Pin a CDN File — Andergrove](https://andergrove.com/tools/sri-generator/guide/) ## Finance & Business Tools - [Loan & Mortgage Calculator](https://andergrove.com/tools/loan-calculator/): Calculate monthly loan and mortgage repayments, total interest and a full amortisation schedule. Runs entirely in your browser. - [How Loan Amortization Works](https://andergrove.com/tools/loan-calculator/guide/) - [Compound Interest Calculator](https://andergrove.com/tools/compound-interest/): Calculate compound interest with regular contributions. See your future balance, total interest earned, a growth chart and a year-by-year breakdown. - [Simple vs Compound Interest: The Difference, with Examples](https://andergrove.com/tools/compound-interest/guide/) - [Savings Goal Calculator](https://andergrove.com/tools/savings-goal/): Work out how much to save each month to hit a savings goal by your deadline, including interest. Total contributions, interest and a year-by-year plan. - [Sinking Funds: Saving for Big Expenses](https://andergrove.com/tools/savings-goal/guide/) - [Tip Calculator](https://andergrove.com/tools/tip-calculator/): Calculate the tip and split the bill between any number of people. Pick a percentage and see the tip, total and amount per person instantly. - [Tipping Etiquette Around the World](https://andergrove.com/tools/tip-calculator/guide/) - [Inflation Calculator](https://andergrove.com/tools/inflation-calculator/): See how inflation erodes money over time: the future buying power of an amount, what it will cost to match it, and how much value is lost. - [How Inflation Is Measured](https://andergrove.com/tools/inflation-calculator/guide/) - [Retirement & 401(k) Calculator](https://andergrove.com/tools/retirement-calculator/): Project your retirement nest egg from current savings, monthly contributions, employer match and expected return. See growth and estimated income. - [The 4% Rule Explained: How Much You Need to Retire](https://andergrove.com/tools/retirement-calculator/guide/) - [Debt Payoff Calculator](https://andergrove.com/tools/debt-payoff/): Plan your debt payoff with the snowball or avalanche method. See when you'll be debt-free, total interest, and how much each strategy saves. - [How to Make a Debt Payoff Plan That Works — Andergrove](https://andergrove.com/tools/debt-payoff/guide/) - [Invoice Generator](https://andergrove.com/tools/invoice-generator/): Create a professional PDF invoice in your browser — free, no signup, no watermark. Line items, tax, nine currencies and a live preview. - [How to Make a Professional Invoice (Free PDF, No Signup)](https://andergrove.com/tools/invoice-generator/guide/) ## Gaming Tools - [CPS Test (Click Speed Test)](https://andergrove.com/tools/cps-test/): Test your click speed over 1, 5, 10, 30 or 60 seconds — mouse or spacebar. Live CPS, click timeline, percentile estimate and saved bests, all in-browser. - [Jitter, Butterfly & Drag Clicking Explained — Andergrove](https://andergrove.com/tools/cps-test/guide/) - [Reaction Time Test](https://andergrove.com/tools/reaction-time/): Test your reaction time: click the moment the box turns green and see your time in milliseconds, plus your average and best. Runs entirely in your browser. - [Can You Improve Your Reaction Time?](https://andergrove.com/tools/reaction-time/guide/) - [Aim Trainer](https://andergrove.com/tools/aim-trainer/): Click targets as fast as you can and track hits, accuracy and targets per second. A free browser-based aim trainer that runs entirely on your device. - [A 15-Minute Daily Aim Routine That Works — Andergrove](https://andergrove.com/tools/aim-trainer/guide/) - [Gamertag & Username Generator](https://andergrove.com/tools/gamertag-generator/): Generate cool gamertags and usernames for any game or platform. Pick a vibe, add numbers or leetspeak, and copy your favourite. Runs entirely in your browser. - [How to Pick a Username You Won't Regret — Andergrove](https://andergrove.com/tools/gamertag-generator/guide/) - [Tier List Maker](https://andergrove.com/tools/tier-list-maker/): Make a tier list with drag-and-drop: add text or image items, rank them S to D, recolour tiers, and download the result as a PNG. Runs in-browser. - [S Tier, Explained: Where Tier Lists Came From — Andergrove](https://andergrove.com/tools/tier-list-maker/guide/) - [Mouse Sensitivity Converter](https://andergrove.com/tools/sensitivity-converter/): Convert mouse sensitivity between Valorant, CS2, CS:GO, Apex Legends, Overwatch and Call of Duty, keeping the same aim. Shows cm/360 too. - [How to Find Your Perfect Mouse Sensitivity — Andergrove](https://andergrove.com/tools/sensitivity-converter/guide/) - [Dice Roller](https://andergrove.com/tools/dice-roller/): Roll d20, 2d6, 4d6 drop lowest or any RPG notation — with the exact odds, average and full distribution for every roll. Free, fair and browser-based. - [Dice Probabilities Every Tabletop Player Should Know](https://andergrove.com/tools/dice-roller/guide/) ## Text Tools - [Word Unscrambler](https://andergrove.com/tools/word-unscrambler/): Unscramble letters into every valid word, fast. Supports blank (?) tiles and starts-with, ends-with, and contains filters. Runs entirely in your browser. - [Scrabble Strategy: Hooks, Stems and Bingos — Andergrove](https://andergrove.com/tools/word-unscrambler/guide/) - [Word & Character Counter](https://andergrove.com/tools/word-counter/): Count words, characters, sentences, paragraphs and reading time as you type. Everything runs locally — nothing is uploaded. - [How Long Should It Be? Word Count Targets — Andergrove](https://andergrove.com/tools/word-counter/guide/) - [Lorem Ipsum Generator](https://andergrove.com/tools/lorem-ipsum/): Generate lorem ipsum placeholder text by paragraphs, sentences or words, with optional HTML <p> tags and the classic opening line. Runs locally. - [What Does Lorem Ipsum Actually Mean? History and Proper Use](https://andergrove.com/tools/lorem-ipsum/guide/) - [Case Converter](https://andergrove.com/tools/case-converter/): Convert text between UPPERCASE, lowercase, Title Case, camelCase, snake_case, kebab-case and more — instantly, with one-click copy. Runs in your browser. - [Case Converter Guide: Text Case Styles Explained](https://andergrove.com/tools/case-converter/guide/) - [Diff Checker](https://andergrove.com/tools/diff-checker/): Compare two blocks of text and see exactly what changed, line by line — side-by-side or inline. Everything runs locally; nothing is uploaded. - [How to Compare Two Text Files (and How Diff Works)](https://andergrove.com/tools/diff-checker/guide/) - [Markdown Previewer](https://andergrove.com/tools/markdown-previewer/): Write Markdown and see a live preview side by side, then export clean HTML. Runs entirely in your browser — nothing is uploaded. - [Markdown Previewer Guide: Write & Export Markdown](https://andergrove.com/tools/markdown-previewer/guide/) - [Unicode Inspector](https://andergrove.com/tools/unicode-inspector/): Reveal invisible Unicode characters, zero-width spaces, bidi controls and lookalike letters in any text — with names, counts and a cleaned copy. - [Invisible Unicode Characters and What They Break](https://andergrove.com/tools/unicode-inspector/guide/) ## Calculators & Converters - [Percentage Calculator](https://andergrove.com/tools/percentage-calculator/): Calculate percentages three ways: what is X% of Y, X is what percent of Y, and percentage change. Instant, and runs entirely in your browser. - [Percentage Mistakes Everyone Makes (and How to Avoid Them)](https://andergrove.com/tools/percentage-calculator/guide/) - [Age Calculator](https://andergrove.com/tools/age-calculator/): Work out your exact age in years, months and days — plus totals and your next birthday. Runs entirely in your browser; nothing is uploaded. - [How Age Is Calculated Around the World](https://andergrove.com/tools/age-calculator/guide/) - [BMI Calculator](https://andergrove.com/tools/bmi-calculator/): Calculate your Body Mass Index (BMI) in metric or imperial units, see your category and a healthy weight range for your height. Runs in your browser. - [Beyond BMI: What the Formula Can't Tell You — Andergrove](https://andergrove.com/tools/bmi-calculator/guide/) - [Unit Converter](https://andergrove.com/tools/unit-converter/): Convert length, weight, temperature and volume — metres to feet, kg to lb, °C to °F, cups to ml and more. Instant, and runs in your browser. - [Convert Units in Your Head: Mental Math — Andergrove](https://andergrove.com/tools/unit-converter/guide/) ## Media & File Tools - [Image Compressor & Resizer](https://andergrove.com/tools/image-compressor/): Compress and resize JPG, PNG and WebP images right in your browser. Files never leave your device — nothing is uploaded. - [How to Optimize Images for the Web](https://andergrove.com/tools/image-compressor/guide/) - [PDF Merger & Splitter](https://andergrove.com/tools/pdf-merge/): Merge PDF files, reorder them, and extract or split pages — free, no signup, no watermark. Your PDFs never leave your browser: nothing is uploaded. - [How to Merge and Split PDF Files (Free and Private)](https://andergrove.com/tools/pdf-merge/guide/) - [Image Format Converter](https://andergrove.com/tools/image-converter/): Convert HEIC iPhone photos to JPG, or switch any image between JPG, PNG and WebP — free, in your browser. Batch mode; photos never leave your device. - [How to Convert HEIC to JPG (and Between Any Image Formats)](https://andergrove.com/tools/image-converter/guide/) - [QR Code Generator](https://andergrove.com/tools/qr-code-generator/): Create QR codes for links, text and more, then download them as PNG or SVG. Generated entirely in your browser — nothing is uploaded. - [QR Code Recipes: Wi-Fi, vCards and Print — Andergrove](https://andergrove.com/tools/qr-code-generator/guide/) - [Wheel Spinner](https://andergrove.com/tools/wheel-spinner/): Spin a wheel to pick a random name or option, and share your list with a link. Runs entirely in your browser — nothing is uploaded. - [When Random Beats Reasoning: the Case for Deciding by Spin](https://andergrove.com/tools/wheel-spinner/guide/) - [Countdown Timer & Stopwatch](https://andergrove.com/tools/countdown-timer/): A simple online countdown timer and stopwatch with laps. Set a time, share it with a link, and track elapsed time. Runs entirely in your browser. - [Timeboxing and the Pomodoro Technique](https://andergrove.com/tools/countdown-timer/guide/) ## AI & LLM Tools - [LLM Token Counter](https://andergrove.com/tools/llm-token-counter/): Estimate how many tokens your prompt uses and what an API call will cost. Live character, word and token counts with editable prices, all in-browser. - [How to Cut LLM API Costs: Practical Ways to Use Fewer Tokens](https://andergrove.com/tools/llm-token-counter/guide/) - [Cosine Similarity Calculator](https://andergrove.com/tools/cosine-similarity/): Compute cosine similarity, dot product, Euclidean and Manhattan distance, and the angle between two vectors or embeddings. Runs in your browser. - [How to Build Semantic Search with Embeddings — Andergrove](https://andergrove.com/tools/cosine-similarity/guide/) - [LLM GPU Memory (VRAM) Calculator](https://andergrove.com/tools/vram-calculator/): Estimate the GPU memory (VRAM) an LLM needs for inference or training, from parameter count, precision (fp16/int8/int4) and optimizer. In-browser. - [How to Run an LLM on a Small GPU](https://andergrove.com/tools/vram-calculator/guide/) - [JSONL Converter & Validator](https://andergrove.com/tools/jsonl-converter/): Convert between JSONL and a JSON array, and validate every line with exact line numbers for errors. Great for LLM fine-tuning datasets. In-browser. - [How to Prepare a Fine-Tuning Dataset in JSONL — Andergrove](https://andergrove.com/tools/jsonl-converter/guide/) - [LLM API Cost Calculator](https://andergrove.com/tools/llm-cost-calculator/): Estimate and compare monthly LLM API costs from token usage and request volume, with editable per-model input/output prices. Runs in your browser. - [LLM API Cost Calculator Guide: Budgeting Tokens and Requests](https://andergrove.com/tools/llm-cost-calculator/guide/) - [AI Text Chunker](https://andergrove.com/tools/text-chunker/): Split text into overlapping chunks for RAG and embeddings — by tokens, characters, words or sentences — with a live preview and JSON/JSONL export. - [Text Chunking for RAG: Sizes, Overlap and Strategies](https://andergrove.com/tools/text-chunker/guide/) - [PII Redactor](https://andergrove.com/tools/pii-redactor/): Detect and mask emails, phone numbers, credit cards, SSNs, IPs and API keys in text, with reversible placeholders and a re-identify step. Runs locally. - [What Not to Paste into an LLM](https://andergrove.com/tools/pii-redactor/guide/) - [LLM Tool-Call Schema Builder](https://andergrove.com/tools/tool-schema-builder/): Build valid function-calling JSON Schemas for the OpenAI and Anthropic APIs from a simple form, or infer one from a sample arguments object. - [Writing LLM Function Schemas That Work](https://andergrove.com/tools/tool-schema-builder/guide/) - [AI Chat Export Viewer](https://andergrove.com/tools/chat-export-viewer/): Open your ChatGPT or Claude data export (conversations.json), browse and search your chats, and export any conversation to Markdown or HTML. All in-browser. - [How to Read and Export Your ChatGPT / Claude Chat History](https://andergrove.com/tools/chat-export-viewer/guide/) - [Embedding Projector](https://andergrove.com/tools/embedding-projector/): Paste labelled embedding vectors and project them to 2D with PCA to see clusters, plus a cosine-similarity nearest-neighbour list. Runs in-browser. - [Embedding Projector Guide: Visualising Vectors with PCA](https://andergrove.com/tools/embedding-projector/guide/) ## Articles - [ssh-keygen -t ed25519: Which SSH Key Type to Use](https://andergrove.com/posts/ssh-key-types-ed25519-vs-rsa/): Why ssh-keygen -t ed25519 is the right default, how Ed25519, ECDSA and RSA compare, what quantum computing really changes, and using one key for Git and SFTP. - [How Random Is a UUID? Entropy, v4, and v7](https://andergrove.com/posts/uuid-randomness-and-entropy/): A v4 UUID carries 122 bits of randomness; a v7 carries 74. How each is built, where each is used, and why randomness and entropy are not the same thing. - [How to Choose a Web Framework (Without Reading 50 Listicles)](https://andergrove.com/posts/how-to-choose-a-web-framework/): A decision framework for picking a web framework: the four questions that actually narrow the field, and why team familiarity beats benchmarks. - [How to Write an Invoice: What to Include (and What Gets You Paid)](https://andergrove.com/posts/how-to-write-an-invoice/): The nine things every invoice needs, how to number invoices properly, what Net 30 means, and the wording changes that measurably speed up payment. - [What Is a HEIC File? (and How to Convert iPhone Photos to JPG)](https://andergrove.com/posts/what-is-a-heic-file/): HEIC is the iPhone's default photo format — half the size of JPEG at the same quality, but it won't open everywhere. Why Apple uses it, and how to get JPGs. - [Are Online PDF Tools Safe? What Happens When You Upload a File](https://andergrove.com/posts/are-online-pdf-tools-safe/): When you upload a PDF to a free online tool, where does it actually go and how long does it live there? The real risks, and the browser-only alternative. - [Cron Syntax Explained: A Cheatsheet of the Schedules Everyone Actually Uses](https://andergrove.com/posts/cron-syntax-cheatsheet/): The five cron fields, the schedules everyone actually needs — every 5 minutes, daily at midnight, weekdays at 9 — and the day-of-week trap. - [How to Format SQL: A Pragmatic Style Guide](https://andergrove.com/posts/sql-formatting-style-guide/): Keyword casing, leading vs. trailing commas, indentation that shows query structure, and JOIN/CTE layout — the SQL rules that make queries reviewable. - [How to Unscramble Words: Techniques Top Scrabble Players Use](https://andergrove.com/posts/how-to-unscramble-words/): Anagram techniques that actually work: alphagrams, prefix/suffix chunking, and the letter math behind Scrabble, Wordle and newspaper jumbles. - [Average Reaction Time: Benchmarks by Age, Device, and Stimulus](https://andergrove.com/posts/average-reaction-time-benchmarks/): The average human reaction time is about 250 ms to a visual stimulus. How that shifts with age, hardware and sound vs. sight — and how to test yours. - [SPF, DKIM, and DMARC Explained: Why Your Email Lands in Spam](https://andergrove.com/posts/spf-dkim-dmarc-explained/): What SPF, DKIM and DMARC actually check, how the three DNS records fit together, and the misconfigurations that send legitimate email to spam. - [Chunking Strategies for RAG: Why Chunk Size Makes or Breaks Retrieval](https://andergrove.com/posts/chunking-strategies-for-rag/): Most RAG retrieval failures start at chunking. Fixed-size vs. structure-aware vs. semantic chunking, sensible size and overlap defaults, and how to evaluate. - [What's Inside a QR Code? How They Encode Data (and the Risks)](https://andergrove.com/posts/how-qr-codes-work/): A QR code is a 2D barcode holding text with heavy error correction. How the modules encode data, why a torn or logo'd code still scans, and the quishing risk. - [Common JSON Errors and How to Fix Them](https://andergrove.com/posts/common-json-errors-and-how-to-fix-them/): "Unexpected token" tells you something broke, not what. The handful of mistakes behind almost every JSON parse error, with the one-line fix for each. - [WebP vs. JPEG vs. PNG: Which Image Format, and When](https://andergrove.com/posts/webp-vs-jpeg-vs-png/): Picking the wrong image format bloats pages and hurts Core Web Vitals. Lossy vs lossless, transparency, when WebP and AVIF win, and what compression saves. - [Hex, RGB, HSL: How CSS Color Formats Work](https://andergrove.com/posts/css-color-formats-explained/): #7c3aed, rgb(124 58 237) and hsl(258 83% 58%) are one colour. What each CSS colour format encodes, why HSL is the tweakable one, and where oklch fits. - [What Are Embeddings? Cosine Similarity Explained for Developers](https://andergrove.com/posts/embeddings-and-cosine-similarity-explained/): Embeddings turn text into vectors so machines can compare meaning. What an embedding is, why cosine similarity is the metric, and how semantic search works. - [How Much VRAM Do You Need to Run an LLM Locally?](https://andergrove.com/posts/how-much-vram-to-run-an-llm/): Will that model fit on your GPU? Where VRAM goes (weights, the KV cache, overhead), what quantization actually saves, and a sizing table by GPU. - [How LLM Tokenization Works (and Why Your API Bill Is Higher Than You Think)](https://andergrove.com/posts/how-llm-tokenization-works/): Tokens aren't words, and you're billed per token. How LLM tokenization works, why code and emoji cost more, and how to estimate your API bill before you ship. - [How to Read a TLS Certificate (and Spot a Bad One)](https://andergrove.com/posts/how-to-read-a-tls-certificate/): A TLS certificate is signed metadata binding a public key to a name. How to read the fields that matter — subject, SAN, issuer, validity — and spot red flags. - [Convert Your Valorant Sensitivity to CS2 (Without Losing Your Aim)](https://andergrove.com/posts/valorant-to-cs2-sensitivity/): Moving from Valorant to CS2? Here's the exact sensitivity conversion, why cm/360 is what really matters, and how to keep the muscle memory you built. - [What Is a Good CPS? Average Click Speed and How to Click Faster](https://andergrove.com/posts/what-is-a-good-cps/): What counts as a good CPS (clicks per second)? See click-speed benchmarks by skill level, what affects your score, and proven ways to click faster. - [How TOTP and Authenticator Apps Actually Work](https://andergrove.com/posts/how-totp-authenticator-apps-work/): The 6-digit code isn't sent by the server. How TOTP works: a shared secret, an HMAC of the current time, and why the code rotates every 30 seconds. - [How to Share a Password Securely at Work (No Special Tools)](https://andergrove.com/posts/share-a-password-securely/): Slacking or emailing a password leaves it in logs forever. How to share one safely without a vault: the two-channel rule, and what never to do. - [HMAC vs. Hashing: How to Verify Webhooks and API Requests](https://andergrove.com/posts/hmac-and-webhook-signature-verification/): A plain hash of a request body proves nothing. Why webhook verification needs HMAC (a keyed hash), how the flow works, and how to compare signatures safely. - [JWT Security: How JSON Web Tokens Work and How They Get Abused](https://andergrove.com/posts/how-json-web-tokens-work/): A JWT isn't encrypted, only signed, so anyone can read the payload. How JWTs work, why alg:none is dangerous, and how to validate one safely. - [Debt Snowball vs. Avalanche: Which Pays Off Debt Faster?](https://andergrove.com/posts/debt-snowball-vs-avalanche/): Debt snowball vs. avalanche: the snowball builds momentum, the avalanche saves the most interest. See how each works, the trade-off, and which to pick. - [UUID v4 vs. v7: Which Should You Use for Database IDs?](https://andergrove.com/posts/uuid-v4-vs-v7-for-database-ids/): UUIDv4 is random; UUIDv7 is time-ordered. Why random UUIDs fragment database indexes, how v7 fixes it, and a decision table for primary keys vs auto-increment. - [The UUID Versions Explained: What v1 to v8 (and Nil) Are For](https://andergrove.com/posts/uuid-versions-explained/): UUIDs come in several versions, each for a different job. What v1, v3, v4, v5, v6, v7 and v8 (plus nil and max) are for, and which one to reach for. - [How Long Would It Take to Crack Your Password? The Real Math](https://andergrove.com/posts/how-long-to-crack-a-password/): Crack-time charts oversimplify. The real math of password strength: entropy in bits, guesses per second, why length beats complexity, and how to test yours. - [A Practical Regex Cheat Sheet: Patterns You'll Actually Use](https://andergrove.com/posts/practical-regex-cheat-sheet/): A task-oriented regex cheat sheet: the building blocks that cover 90% of cases, greedy vs lazy, capture groups, copy-paste recipes, and the ReDoS pitfall. - [How Compound Interest Works (and Why Starting Early Wins)](https://andergrove.com/posts/how-compound-interest-works/): Compound interest means earning interest on your interest. See the formula, a worked example, and why starting a decade earlier can beat saving far more later. - [Unix Timestamps Explained: Epoch Time, Time Zones, and the 2038 Problem](https://andergrove.com/posts/unix-timestamps-explained/): What a Unix timestamp really is: seconds since 1970 UTC. Seconds vs milliseconds, why you store UTC, the Year 2038 problem, and how to get epoch time anywhere. - [Base64 Isn't Encryption: What It Actually Does (and When to Use It)](https://andergrove.com/posts/base64-is-not-encryption/): Base64 is reversible encoding, not encryption: no key, no secrecy. How it works (3 bytes to 4 chars), why it exists, the 33% size cost, and what to use instead. - [SHA-256 Explained: What It Is and Why It's Everywhere](https://andergrove.com/posts/sha-256-explained/): SHA-256 turns any data into a fixed 64-character fingerprint. A plain-English look at what a hash is, what SHA-256 is used for, and why you can't reverse it. - [Hello, Andergrove](https://andergrove.com/posts/hello-world/): Why Andergrove Software exists, and how this lean static site is built and maintained. - [IBM DataPower Gateway - Management APIs](https://andergrove.com/posts/datapower-mgmt-apis/): A practical guide to the IBM DataPower Gateway REST management API: structure, key resources, and curl examples for reading and updating configuration. - [IBM DataPower Gateway - Docker for Local Development](https://andergrove.com/posts/datapower-docker/): How to run IBM DataPower Gateway locally as a free Docker service for development: setup, the docker run command explained, and enabling the Web UI. - [Introduction](https://andergrove.com/posts/introduction/): Andergrove Software is a software services company from Canberra, Australia, run by Chris Hare — an introduction to the blog. ## Optional - [All tools](https://andergrove.com/tools/): the full tool directory - [About](https://andergrove.com/about/) - [What's new](https://andergrove.com/changelog/)