{
  "name": "findutils-mcp",
  "title": "FindUtils MCP Server",
  "description": "FindUtils utilities available through the Model Context Protocol — 388 tools for text, data, crypto, conversion, calculation and PDF generation. Call tools/list for the current definitions.",
  "version": "1.0.0",
  "serverUrl": "https://mcp.findutils.com/",
  "protocolVersion": "2024-11-05",
  "serverInfo": {
    "name": "findutils-mcp",
    "title": "FindUtils MCP Server",
    "version": "1.0.0",
    "description": "FindUtils utilities available through the Model Context Protocol — 388 tools for text, data, crypto, conversion, calculation and PDF generation. Call tools/list for the current definitions.",
    "vendor": "FindUtils",
    "homepage": "https://findutils.com",
    "documentation": "https://findutils.com/mcp/"
  },
  "transports": [
    {
      "type": "streamable-http",
      "url": "https://mcp.findutils.com/",
      "methods": [
        "POST"
      ],
      "sse": false,
      "sessions": false
    }
  ],
  "capabilities": {
    "tools": {
      "listChanged": false
    }
  },
  "authentication": {
    "required": true,
    "schemes": [
      "bearer"
    ],
    "header": "Authorization: Bearer <key> (or X-API-Key: <key>)",
    "scope": "tools/call; initialize and tools/list are open",
    "docs": "https://findutils.com/api/#api-keys"
  },
  "toolCount": 388,
  "tools": [
    {
      "name": "a2ui_basic_catalog",
      "description": "Returns the authoritative basic-catalog JSON Schema (components, functions, theme) for the requested A2UI version.",
      "category": "developer"
    },
    {
      "name": "a2ui_diff",
      "description": "Computes a structural diff between two A2UI JSONL payloads: surfaces added/removed, components added/removed/changed (by id), data-model…",
      "category": "developer"
    },
    {
      "name": "a2ui_examples",
      "description": "Returns one or more canonical A2UI JSONL examples matching a pattern (form, list, wizard, modal, chat, dashboard, checkout, typeahead…",
      "category": "developer"
    },
    {
      "name": "a2ui_prompt",
      "description": "Generates a drop-in LLM system prompt that teaches the model to output valid A2UI JSONL: includes the basic-catalog component / function…",
      "category": "developer"
    },
    {
      "name": "a2ui_spec",
      "description": "Returns A2UI protocol documentation for a given spec version and section.",
      "category": "developer"
    },
    {
      "name": "a2ui_validate",
      "description": "Validates a JSONL A2UI payload against the basic catalog (or a custom catalog) and returns any errors, warnings, or info messages…",
      "category": "developer"
    },
    {
      "name": "age_calculate",
      "description": "Calculate age from a date of birth — years, months, days, plus totals in days, weeks, and months.",
      "category": "datetime"
    },
    {
      "name": "ai_model_picker",
      "description": "Return the best-matching AI coding models (top 3 by default) for a project, scored on speed, accuracy, cost and context window from four…",
      "category": "developer"
    },
    {
      "name": "amortization_calculator",
      "description": "Return a full loan amortization schedule (one row per month with payment, principal, interest, extra payment, balance) plus totals…",
      "category": "finance"
    },
    {
      "name": "api_docs_generator",
      "description": "Return API documentation generated from a list of endpoints, as Markdown (with table of contents, request/response examples)…",
      "category": "data"
    },
    {
      "name": "aspect_ratio",
      "description": "Compute the aspect ratio of width:height.",
      "category": "developer"
    },
    {
      "name": "ass_to_srt",
      "description": "Flatten an Advanced SubStation Alpha (.ass) or SubStation Alpha (.ssa) subtitle script to plain SubRip (.srt).",
      "category": "media"
    },
    {
      "name": "attendance_sheet_generator",
      "description": "Generate a blank attendance sheet for a list of students over consecutive days and return the date columns, a CSV, a Markdown table…",
      "category": "education"
    },
    {
      "name": "auto_loan_calculator",
      "description": "Return the monthly car payment, total interest, financed amount, and a month-by-month amortization schedule for an auto loan.",
      "category": "finance"
    },
    {
      "name": "avatar_generator",
      "description": "Make an avatar as an SVG from a name or an email address, with no external service.",
      "category": "generators"
    },
    {
      "name": "barcode_generator",
      "description": "Generate a 1D barcode as an SVG string from text.",
      "category": "generators"
    },
    {
      "name": "base32_decode",
      "description": "Decode RFC 4648 base32 back to UTF-8 text.",
      "category": "encoding"
    },
    {
      "name": "base32_encode",
      "description": "Encode UTF-8 text to RFC 4648 base32 (uppercase, \"=\" padding).",
      "category": "security"
    },
    {
      "name": "base64_decode",
      "description": "Decode a base64 string back to UTF-8 text.",
      "category": "encoding"
    },
    {
      "name": "base64_encode",
      "description": "Encode UTF-8 text as a base64 string.",
      "category": "encoding"
    },
    {
      "name": "bmi_calculate",
      "description": "Compute Body Mass Index (BMI) with metric (kg/cm) or imperial (lb/in) units.",
      "category": "calculators"
    },
    {
      "name": "body_fat_calculator",
      "description": "Estimate body fat percentage, fat mass, lean mass, BMI, and a body-composition category.",
      "category": "calculators"
    },
    {
      "name": "bookmarks_diff",
      "description": "Compare two Netscape bookmarks.html exports (before and after) and list the links that were added, removed, or changed.",
      "category": "text"
    },
    {
      "name": "bookmarks_html_to_csv",
      "description": "Convert a browser bookmarks.html export from Chrome, Firefox, Edge, Safari or any other browser that writes the Netscape bookmark format…",
      "category": "data"
    },
    {
      "name": "bookmarks_html_to_markdown",
      "description": "Convert a browser bookmarks.html export (the Netscape bookmark format Chrome, Firefox, Edge and Safari write) into Markdown for Notion…",
      "category": "text"
    },
    {
      "name": "bookmarks_json_to_html",
      "description": "Convert a bookmarks JSON file into a Netscape bookmarks.html that Chrome, Firefox, Edge and Safari import.",
      "category": "data"
    },
    {
      "name": "bot_crawl_checker",
      "description": "Return which of 24 well-known crawlers (Googlebot, BingBot, GPTBot, ClaudeBot, PerplexityBot, AhrefsBot, Twitterbot and more) are allowed…",
      "category": "network"
    },
    {
      "name": "box_shadow_generator",
      "description": "Generate a CSS box-shadow declaration from offset, blur, spread, colour, opacity, and inset settings, or from a named preset (subtle, soft…",
      "category": "generators"
    },
    {
      "name": "break_even_calculator",
      "description": "Return the break-even point of a product or business: contribution margin, contribution margin ratio, break-even units and revenue…",
      "category": "finance"
    },
    {
      "name": "business_loan_calculator",
      "description": "Return the monthly payment, total interest, origination fee, effective yearly rate (interest plus fees), a yearly summary, and a full…",
      "category": "finance"
    },
    {
      "name": "calorie_calculator",
      "description": "Work out how many calories to eat per day to lose, maintain, or gain weight.",
      "category": "calculators"
    },
    {
      "name": "caption_generator",
      "description": "Generate a social-media caption from a topic using built-in templates (no AI): picks a template for the content type and tone, fills…",
      "category": "generators"
    },
    {
      "name": "carbon_footprint_calculator",
      "description": "Estimate an annual personal carbon footprint in tonnes of CO2 from home energy, transportation, and lifestyle, with a per-category…",
      "category": "calculators"
    },
    {
      "name": "career_experience_calculator",
      "description": "Calculate total professional experience across several jobs: total days, years/months/days, weeks, working days (5/7), working hours (8 per…",
      "category": "datetime"
    },
    {
      "name": "case_convert",
      "description": "Convert a string between camelCase, PascalCase, snake_case, kebab-case, SCREAMING_SNAKE, dot.case, Title Case, Sentence case, lower, UPPER.",
      "category": "text"
    },
    {
      "name": "chmod_calculate",
      "description": "Convert between numeric (755) and symbolic (rwxr-xr-x) Unix file permissions.",
      "category": "calculators"
    },
    {
      "name": "cidr_calculate",
      "description": "Compute network / broadcast / first-last host / subnet mask / hosts count for a CIDR (e.g.",
      "category": "network"
    },
    {
      "name": "citation_generator",
      "description": "Generate a reference-list citation in APA 7, MLA 9, Chicago, or Harvard style for a book, website, journal, or article.",
      "category": "text"
    },
    {
      "name": "client_status_report_generator",
      "description": "Generate a client-facing project status report in Markdown and return it with its headline counts.",
      "category": "productivity"
    },
    {
      "name": "clip_path_generator",
      "description": "Generate a CSS clip-path from a named shape (triangle, trapezoid, parallelogram, rhombus, pentagon, hexagon, octagon, star, chevron…",
      "category": "generators"
    },
    {
      "name": "cloudflare_cost_calculate",
      "description": "Estimate monthly Cloudflare developer platform costs (Workers, D1, R2, KV, Durable Objects) under free or $5 Workers Paid plans.",
      "category": "calculators"
    },
    {
      "name": "code_diff_checker",
      "description": "Returns a line-by-line diff of two code snippets: each line marked added, removed or unchanged with its original and modified line numbers…",
      "category": "text"
    },
    {
      "name": "code_highlight_html",
      "description": "Returns syntax-highlighted HTML for a code snippet: HTML-escaped text wrapped in <span style=\"color: ...\"> elements using one of six colour…",
      "category": "text"
    },
    {
      "name": "color_contrast",
      "description": "Compute the WCAG 2.1 contrast ratio between two colours (accepts #rgb, #rrggbb, and rgb()/rgba() formats) and report whether it passes…",
      "category": "developer"
    },
    {
      "name": "color_convert",
      "description": "Convert between color formats: hex, rgb, hsl, hsv.",
      "category": "encoding"
    },
    {
      "name": "color_palette_generator",
      "description": "Generate a harmonious colour palette from a base hex colour: complementary, analogous, triadic, tetradic, split-complementary…",
      "category": "generators"
    },
    {
      "name": "compound_interest",
      "description": "Compute compound interest growth.",
      "category": "finance"
    },
    {
      "name": "cookie_analyzer",
      "description": "Analyze Set-Cookie header strings and return a per-cookie list of security issues, an overall 0-100 score, and recommendations.",
      "category": "network"
    },
    {
      "name": "country_lookup",
      "description": "Return country facts — capital, currency (name, code, symbol), phone code, timezone, region, subregion, flag emoji, and languages…",
      "category": "datetime"
    },
    {
      "name": "coupon_code_generator",
      "description": "Generate a batch of unique random coupon or promo codes: an optional prefix, a random part of a chosen length and character set (with…",
      "category": "data"
    },
    {
      "name": "course_quiz_generator",
      "description": "Build a printable course quiz from a list of questions (multiple choice, true/false, short answer, fill in the blank) and return…",
      "category": "education"
    },
    {
      "name": "credit_card_payoff_calculator",
      "description": "Return how long a credit card balance takes to pay off at a fixed monthly payment (mode \"payment\"), or the payment needed to clear it…",
      "category": "finance"
    },
    {
      "name": "credit_card_validate",
      "description": "Validate a credit card number with the Luhn checksum and detect the brand.",
      "category": "finance"
    },
    {
      "name": "cron_describe",
      "description": "Parse a 5-field cron expression (minute hour day-of-month month day-of-week) and produce a human-readable English description.",
      "category": "datetime"
    },
    {
      "name": "cron_to_systemd",
      "description": "Convert a 5-field cron expression into a systemd timer plus service unit and a Kubernetes CronJob YAML file.",
      "category": "datetime"
    },
    {
      "name": "crypto_testnet_faucets",
      "description": "Returns a curated list of crypto testnet faucets (Ethereum Sepolia, Base, Arbitrum, Optimism, Polygon, Avalanche, BNB Chain, Linea, Solana)…",
      "category": "developer"
    },
    {
      "name": "csp_generate",
      "description": "Build a Content-Security-Policy header from a preset (strict, typical, google-analytics) and/or your own directives, and get the header…",
      "category": "security"
    },
    {
      "name": "css_animation_generator",
      "description": "Return CSS @keyframes animation code (or Tailwind config, Web Animations API / React, or Framer Motion code) from a named preset such…",
      "category": "generators"
    },
    {
      "name": "css_filter_generator",
      "description": "Generate a CSS filter declaration from brightness, contrast, saturate, grayscale, sepia, invert, opacity, blur and hue-rotate…",
      "category": "generators"
    },
    {
      "name": "css_grid_generator",
      "description": "Generate a CSS Grid container declaration.",
      "category": "generators"
    },
    {
      "name": "css_minifier",
      "description": "Minify CSS (strip comments and whitespace) or beautify compressed CSS, and return the output with byte sizes and the percentage saved.",
      "category": "developer"
    },
    {
      "name": "csv_dedupe",
      "description": "Remove duplicate rows from a CSV or TSV table.",
      "category": "data"
    },
    {
      "name": "csv_diff",
      "description": "Compare two CSV or TSV tables by key column and list the rows that were added, removed or changed - a table diff, not a line diff, so rows…",
      "category": "data"
    },
    {
      "name": "csv_to_bookmarks_html",
      "description": "Convert a CSV of links into a Netscape bookmarks.html file that Chrome, Firefox, Edge and Safari import.",
      "category": "data"
    },
    {
      "name": "csv_to_ics",
      "description": "Turn a CSV of events into an iCalendar (.ics) file that Google Calendar, Apple Calendar and Outlook import.",
      "category": "productivity"
    },
    {
      "name": "csv_to_internet_shortcuts",
      "description": "Turn a CSV of names and addresses into Windows Internet Shortcut (.url) files, one per row.",
      "category": "data"
    },
    {
      "name": "csv_to_json",
      "description": "Parse CSV text into an array of objects keyed by the header row.",
      "category": "data"
    },
    {
      "name": "csv_to_ndjson",
      "description": "Convert CSV into newline-delimited JSON (NDJSON, JSON Lines, .jsonl): one JSON object per line, keyed by the header row.",
      "category": "data"
    },
    {
      "name": "csv_to_sql",
      "description": "Convert CSV text into SQL INSERT statements, optionally preceded by a CREATE TABLE.",
      "category": "data"
    },
    {
      "name": "csv_to_tsv",
      "description": "Convert comma-separated values to tab-separated values, the format spreadsheet paste, psql and mysql --batch expect.",
      "category": "data"
    },
    {
      "name": "csv_to_vcf",
      "description": "Convert a CSV of contacts into one multi-card .vcf file that iPhone, Android, Google Contacts and Outlook import.",
      "category": "data"
    },
    {
      "name": "curl_to_code",
      "description": "Returns source code that performs the same HTTP request as a cURL command, in JavaScript (fetch), Python (requests), PHP (cURL), Go…",
      "category": "network"
    },
    {
      "name": "daily_habit_calculator",
      "description": "Calculate how a daily habit adds up over a week, a month (30 days), a year (365 days), or a custom date range: total units, total cost…",
      "category": "calculators"
    },
    {
      "name": "data_sanitizer",
      "description": "Sanitize untrusted text and return the cleaned output, a list of changes made, and a risk level.",
      "category": "security"
    },
    {
      "name": "date_difference",
      "description": "Compute the difference between two dates in years/months/weeks/days/hours/minutes/seconds.",
      "category": "datetime"
    },
    {
      "name": "debt_payoff_calculator",
      "description": "Return a debt payoff plan for several debts using the avalanche (highest rate first) or snowball (lowest balance first) strategy: total…",
      "category": "finance"
    },
    {
      "name": "dedupe_bookmarks",
      "description": "Remove duplicate links from a Netscape bookmarks.html export (Chrome, Firefox, Edge, Safari) and return a clean bookmarks.html plus a CSV…",
      "category": "text"
    },
    {
      "name": "dev_request_prioritizer",
      "description": "Prioritize development requests with the page's scoring frameworks and return them sorted by priority score, each with a value score…",
      "category": "productivity"
    },
    {
      "name": "dividend_calculator",
      "description": "Return a year-by-year projection of a dividend portfolio: dividends received, DRIP reinvestment, contributions, share count, share price…",
      "category": "finance"
    },
    {
      "name": "dnpm_configurator",
      "description": "Returns the five files of a hardened Docker-based npm wrapper (the ./dnpm bash script, .dnpm/Dockerfile, docker-compose.node.yml…",
      "category": "security"
    },
    {
      "name": "dns_lookup",
      "description": "Return the DNS records of a domain for one record type (A, AAAA, CNAME, MX, TXT, NS or SOA).",
      "category": "network"
    },
    {
      "name": "dns_propagation_checker",
      "description": "Compare one DNS record type for a domain across two named public DNS-over-HTTPS resolvers (Google Public DNS at dns.google and Cloudflare…",
      "category": "network"
    },
    {
      "name": "dns_security_scanner",
      "description": "Return a DNS security report for a domain: SPF, DMARC, MX and CAA records with issues, a 0-100 score, a letter grade and recommendations.",
      "category": "network"
    },
    {
      "name": "domain_rating_checker",
      "description": "Return the Ahrefs Domain Rating (0-100) for up to 25 domains in one call, with a per-domain status (provider_unavailable means Ahrefs is…",
      "category": "seo"
    },
    {
      "name": "down_payment_calculator",
      "description": "Return the down payment, closing costs, total cash needed, remaining amount to save, months to save, target month, loan amount…",
      "category": "finance"
    },
    {
      "name": "eisenhower_matrix",
      "description": "Sort tasks into the four Eisenhower quadrants and say what to do with each one.",
      "category": "productivity"
    },
    {
      "name": "email_header_analyzer",
      "description": "Return a structured analysis of raw email headers: sender, recipient, subject, date, message id, the Received hop chain with per-hop…",
      "category": "network"
    },
    {
      "name": "email_security_checker",
      "description": "Return an email-security report for the domain of an email address: MX, SPF, DKIM (common selectors), DMARC, MTA-STS, TLS-RPT and BIMI…",
      "category": "network"
    },
    {
      "name": "email_signature_generator",
      "description": "Generate an HTML email signature (table-based, inline styles, safe for Gmail/Outlook) from name, title, company, contact details and social…",
      "category": "generators"
    },
    {
      "name": "email_validate",
      "description": "Validate an email address and report every rule it breaks and break it into local / domain / TLD parts.",
      "category": "validation"
    },
    {
      "name": "env_linter",
      "description": "Lint a dotenv file for duplicate keys, unquoted spaces, export prefixes, secret-looking values (masked), and drift against an optional…",
      "category": "developer"
    },
    {
      "name": "env_yaml_converter",
      "description": "Convert a dotenv .env file to a flat YAML map, or YAML back to KEY=value lines.",
      "category": "data"
    },
    {
      "name": "essay_outline_generator",
      "description": "Generate a structured essay outline (introduction, body paragraphs, conclusion) for five essay types and three lengths, and return each…",
      "category": "education"
    },
    {
      "name": "faq_schema_generator",
      "description": "Generate FAQPage JSON-LD structured data from question-answer pairs, and return the JSON-LD string, a ready <script> tag, the schema…",
      "category": "seo"
    },
    {
      "name": "fire_calculator",
      "description": "Return the FIRE number (annual expenses / withdrawal rate), years to reach it, FIRE age, progress percent, monthly investment…",
      "category": "finance"
    },
    {
      "name": "flashcard_maker",
      "description": "Turn a list of front/back pairs into a flashcard deck and return the numbered cards plus ready-to-import formats: CSV (Front,Back)…",
      "category": "education"
    },
    {
      "name": "font_icon_search",
      "description": "Search a catalog of about 300 icons from Font Awesome, Material Icons, Lucide, and Heroicons by name, keyword, or category and return…",
      "category": "developer"
    },
    {
      "name": "form_to_json_schema",
      "description": "Returns a form schema object ({ formId, method, action, fields, submitText }) extracted from HTML form markup.",
      "category": "seo"
    },
    {
      "name": "fraction_calculator",
      "description": "Add, subtract, multiply or divide two fractions, or simplify one.",
      "category": "calculators"
    },
    {
      "name": "gcd_calculate",
      "description": "Greatest Common Divisor (GCD) and Least Common Multiple (LCM) of two non-negative integers.",
      "category": "calculators"
    },
    {
      "name": "geo_analyzer",
      "description": "Return a Generative Engine Optimization (GEO) report for a public web page: an overall 0-100 score, per-category scores (technical…",
      "category": "seo"
    },
    {
      "name": "glassmorphism_generator",
      "description": "Generate the CSS for a glassmorphism (frosted glass) card: semi-transparent background, backdrop-filter blur and saturation (with…",
      "category": "generators"
    },
    {
      "name": "glob_pattern_tester",
      "description": "Returns which file paths match a glob pattern and which do not.",
      "category": "developer"
    },
    {
      "name": "gpa_calculator",
      "description": "Calculate a grade point average (GPA) on the 4.0 scale from course letter grades and credits.",
      "category": "education"
    },
    {
      "name": "grade_calculator",
      "description": "Calculate a weighted course grade from categories (homework, quizzes, exams) with assignment scores, the letter grade (A to F)…",
      "category": "education"
    },
    {
      "name": "gradient_generator",
      "description": "Generate a CSS linear, radial, or conic gradient from colour stops (2 to 10) and an angle, or from a preset (sunset, ocean, forest, fire…",
      "category": "generators"
    },
    {
      "name": "graphql_playground",
      "description": "Check a GraphQL query for balanced braces and, when a schema is supplied, unknown fields on Query/Mutation/Subscription types.",
      "category": "seo"
    },
    {
      "name": "graphql_schema_validator",
      "description": "Validate a GraphQL SDL schema and return errors, naming-convention warnings, and counts of types, queries, mutations, and subscriptions.",
      "category": "seo"
    },
    {
      "name": "graphql_to_typescript",
      "description": "Convert a GraphQL SDL schema into TypeScript type definitions and return the generated code with counts of emitted types, enums, and inputs.",
      "category": "data"
    },
    {
      "name": "har_to_curl",
      "description": "Convert a HAR (HTTP Archive) file into curl commands, one per recorded request, and return them as a script plus a per-request list.",
      "category": "network"
    },
    {
      "name": "har_viewer",
      "description": "Parse HAR 1.x JSON and return each entry’s method, URL, status, size, time, and MIME type.",
      "category": "network"
    },
    {
      "name": "hash_comparison_tool",
      "description": "Hash text with MD5, SHA-1, SHA-256, SHA-384, or SHA-512 and compare the hex digest with an expected hash.",
      "category": "security"
    },
    {
      "name": "hash_generate",
      "description": "Hash text with MD5, SHA-1, SHA-256, or SHA-512.",
      "category": "encoding"
    },
    {
      "name": "hashtag_generator",
      "description": "Generate relevant hashtags from keywords using a built-in, rule-based database (no AI): matches keywords against topic categories, scores…",
      "category": "generators"
    },
    {
      "name": "heading_structure_analyzer",
      "description": "Analyze the H1-H6 heading hierarchy of an HTML document and return every heading, SEO warnings (missing or multiple H1, skipped levels…",
      "category": "seo"
    },
    {
      "name": "hex_decode",
      "description": "Decode a hexadecimal string back to UTF-8 text.",
      "category": "encoding"
    },
    {
      "name": "hex_encode",
      "description": "Encode UTF-8 text as a hexadecimal string.",
      "category": "encoding"
    },
    {
      "name": "hmac_generate",
      "description": "Compute an HMAC of a message with a secret key.",
      "category": "encoding"
    },
    {
      "name": "home_affordability_calculator",
      "description": "Return the maximum home price you can afford from income, monthly debts, down payment percent, rate, term, property tax, insurance, HOA…",
      "category": "finance"
    },
    {
      "name": "hreflang_tag_generator",
      "description": "Generate hreflang annotations for multilingual pages and return them as HTML <link> tags, an HTTP Link header, and an XML sitemap block…",
      "category": "seo"
    },
    {
      "name": "html_entity_decode",
      "description": "Decode HTML entities back to characters.",
      "category": "encoding"
    },
    {
      "name": "html_entity_encode",
      "description": "Encode HTML special characters as entities.",
      "category": "encoding"
    },
    {
      "name": "html_entity_finder",
      "description": "Search the HTML entity catalog and return matching entities with their character, named entity, decimal code, hex code, and category.",
      "category": "text"
    },
    {
      "name": "html_formatter",
      "description": "Format (beautify) or minify HTML and return the result with a tag-balance validation report.",
      "category": "validation"
    },
    {
      "name": "html_strip",
      "description": "Strip all HTML tags from a string, converting block tags to newlines and decoding common entities.",
      "category": "text"
    },
    {
      "name": "html_table_to_json",
      "description": "Convert an HTML <table> into JSON — an array of objects keyed by the header row, or an array of row arrays.",
      "category": "data"
    },
    {
      "name": "html_to_markdown",
      "description": "Convert HTML fragments to Markdown.",
      "category": "text"
    },
    {
      "name": "http_status_code_lookup",
      "description": "Return the meaning, typical use case and fix for HTTP status codes.",
      "category": "network"
    },
    {
      "name": "ics_busy_free",
      "description": "Turn a detailed iCalendar (.ics) export into an availability file to share.",
      "category": "productivity"
    },
    {
      "name": "ics_diff",
      "description": "Compare two iCalendar (.ics) exports of the same calendar, before and after, and report which events were added, removed or changed.",
      "category": "productivity"
    },
    {
      "name": "ics_expand_rrule",
      "description": "Expand the recurring events of an iCalendar (.ics) file into one concrete event per occurrence between two dates, for a spreadsheet, a CRM…",
      "category": "productivity"
    },
    {
      "name": "ics_filter",
      "description": "Filter an iCalendar (.ics) file down to the entries you want and get a smaller calendar to import, plus the removed entries as their own…",
      "category": "seo"
    },
    {
      "name": "ics_privacy_scrub",
      "description": "Redact an iCalendar (.ics) export before sharing it: per field, keep, generalize or remove the title (SUMMARY), description, location…",
      "category": "security"
    },
    {
      "name": "ics_timezone_convert",
      "description": "Rewrite the time zones of an iCalendar (.ics) file so events land at the right local time after import.",
      "category": "productivity"
    },
    {
      "name": "ics_to_csv",
      "description": "Convert an iCalendar (.ics) export from Google Calendar, Apple Calendar or Outlook into CSV, one row per event.",
      "category": "productivity"
    },
    {
      "name": "ics_to_json",
      "description": "Parse an iCalendar (.ics) export from Google Calendar, Apple Calendar or Outlook into JSON: one object per event with uid, summary…",
      "category": "productivity"
    },
    {
      "name": "images_to_pdf",
      "description": "Combine JPG and PNG images into a single PDF, one image per page, in the order given.",
      "category": "documents"
    },
    {
      "name": "inflation_calculator",
      "description": "Return what an amount of money from one year is worth in another year using historical CPI data, with total inflation, average yearly…",
      "category": "finance"
    },
    {
      "name": "ini_json_converter",
      "description": "Convert classic INI, .cfg or .conf text to JSON, or a JSON object back to INI.",
      "category": "data"
    },
    {
      "name": "internet_shortcuts_to_csv",
      "description": "Turn Windows Internet Shortcut files (.url) into a CSV or a plain list of URLs.",
      "category": "data"
    },
    {
      "name": "investment_calculator",
      "description": "Return the projected value of an investment with compound growth and monthly contributions: final balance, total contributions, total…",
      "category": "finance"
    },
    {
      "name": "invoice_generate",
      "description": "Generate a professional PDF invoice.",
      "category": "documents"
    },
    {
      "name": "ip_blacklist_checker",
      "description": "Return whether an IPv4 address is listed on 5 DNS blacklists (Barracuda, SpamCop, UCEPROTECT, JustSpam, PSBL), with listed, clean…",
      "category": "network"
    },
    {
      "name": "ip_validate",
      "description": "Validate an IPv4 or IPv6 address and classify it (public / private / loopback / link-local / multicast / global).",
      "category": "network"
    },
    {
      "name": "jq_playground",
      "description": "Returns the result of running a jq-style filter over a JSON document.",
      "category": "data"
    },
    {
      "name": "json_comparer",
      "description": "Returns a git-style line diff of two JSON documents after both are pretty-printed with 2-space indentation.",
      "category": "data"
    },
    {
      "name": "json_diff",
      "description": "Returns the semantic differences between two JSON documents as a list of added, removed and modified paths with their old and new values…",
      "category": "data"
    },
    {
      "name": "json_escaper",
      "description": "Returns the text with JSON string escapes applied (mode \"escape\") or removed (mode \"unescape\").",
      "category": "encoding"
    },
    {
      "name": "json_faker",
      "description": "Returns an array of fake JSON records built from a field list, for testing and prototyping.",
      "category": "data"
    },
    {
      "name": "json_flatten",
      "description": "Flatten a nested JSON object into a single-level map with dot-separated keys.",
      "category": "data"
    },
    {
      "name": "json_format",
      "description": "Pretty-print JSON with the requested indentation (1-8 spaces).",
      "category": "data"
    },
    {
      "name": "json_ld_generator",
      "description": "Generate JSON-LD structured data for 14 schema.org types (Article, BlogPosting, Product, Organization, LocalBusiness, Person, Event…",
      "category": "seo"
    },
    {
      "name": "json_minifier",
      "description": "Minify JSON to a single line with no whitespace and return the compact text plus original size, minified size (bytes), and reduction…",
      "category": "data"
    },
    {
      "name": "json_path_finder",
      "description": "Returns every match of a JSONPath expression in a JSON document: the concrete path and value of each match, the match count…",
      "category": "data"
    },
    {
      "name": "json_query",
      "description": "Extract a value from JSON via a dotted path.",
      "category": "data"
    },
    {
      "name": "json_schema_form_builder",
      "description": "Returns a form schema object (formId, method, action, fields, submitText) built from a list of field definitions.",
      "category": "seo"
    },
    {
      "name": "json_schema_generator",
      "description": "Returns a JSON Schema (draft-07) object inferred from a sample JSON document.",
      "category": "seo"
    },
    {
      "name": "json_schema_validator",
      "description": "Returns whether a JSON document is valid against a JSON Schema (draft-07 subset) and lists every violation with its JSON pointer path…",
      "category": "seo"
    },
    {
      "name": "json_to_bootstrap_form",
      "description": "Returns Bootstrap 5 form markup generated from a JSON form schema ({ formId?, layout?, method?, action?, fields: [...], submitText? }).",
      "category": "data"
    },
    {
      "name": "json_to_chart",
      "description": "Render a bar, line, or pie chart as an SVG string from JSON data of the form {\"title\",\"type\",\"data\":[{\"label\",\"value\",\"color?\"}]}.",
      "category": "generators"
    },
    {
      "name": "json_to_csv",
      "description": "Convert a JSON array of flat objects into CSV.",
      "category": "data"
    },
    {
      "name": "json_to_email_template",
      "description": "Generate a responsive, table-based HTML email (header, greeting, body paragraphs, button, footer, unsubscribe link) from JSON such…",
      "category": "generators"
    },
    {
      "name": "json_to_go_struct",
      "description": "Returns Go struct definitions (as source text) generated from a JSON object.",
      "category": "data"
    },
    {
      "name": "json_to_html_form",
      "description": "Returns clean HTML5 form markup generated from a JSON form schema ({ formId?, formClass?, method?, action?, fields: [...], submitText? }).",
      "category": "seo"
    },
    {
      "name": "json_to_java_class",
      "description": "Generate Java POJO class source code from a JSON object.",
      "category": "data"
    },
    {
      "name": "json_to_liquid",
      "description": "Turn structured data into Shopify Liquid.",
      "category": "data"
    },
    {
      "name": "json_to_markdown_table",
      "description": "Convert a JSON array of objects to a GitHub-flavoured Markdown table.",
      "category": "data"
    },
    {
      "name": "json_to_org_chart",
      "description": "Generate nested HTML for an organisation chart from JSON of the form {\"title\",\"root\":{\"name\",\"title\",\"avatar\",\"children\":[...]}}.",
      "category": "generators"
    },
    {
      "name": "json_to_pricing_table",
      "description": "Generate the HTML for a pricing table (div.pricing-container with .pricing-card/.plan-features classes) from JSON of the form…",
      "category": "generators"
    },
    {
      "name": "json_to_product_card",
      "description": "Generate an e-commerce product card from JSON such as {\"name\",\"price\",\"originalPrice\",\"currency\",\"rating\",\"reviews\",\"badges\"} in one of 6…",
      "category": "generators"
    },
    {
      "name": "json_to_profile_card",
      "description": "Generate a profile card for team pages and portfolios from JSON such as {\"name\",\"title\",\"company\",\"location\",\"email\",\"bio\",\"skills\"…",
      "category": "generators"
    },
    {
      "name": "json_to_python_class",
      "description": "Generate Python class source code from a JSON object as a dataclass, a Pydantic model, or a plain class.",
      "category": "data"
    },
    {
      "name": "json_to_react_form",
      "description": "Return a typed React (TSX) form component generated from a JSON schema of fields — inputs, textarea, select, checkbox, radio…",
      "category": "data"
    },
    {
      "name": "json_to_readme",
      "description": "Generate a README.md (title, shields.io badges, description, demo/docs links, features, installation, usage, contributing, author, license)…",
      "category": "generators"
    },
    {
      "name": "json_to_social_card",
      "description": "Generate a social-media / Open Graph card (1200x630 aspect) from JSON such as {\"title\",\"description\",\"author\",\"date\",\"siteName\",\"tag\"…",
      "category": "generators"
    },
    {
      "name": "json_to_sql",
      "description": "Convert a JSON array of objects into SQL INSERT statements, optionally preceded by a CREATE TABLE.",
      "category": "data"
    },
    {
      "name": "json_to_tailwind_form",
      "description": "Generate React JSX for a Tailwind CSS styled form from a JSON form schema.",
      "category": "data"
    },
    {
      "name": "json_to_testimonial_card",
      "description": "Generate a testimonial / review card from JSON such as {\"quote\",\"author\",\"title\",\"company\",\"rating\",\"date\",\"highlighted\"} in one of 6…",
      "category": "generators"
    },
    {
      "name": "json_to_timeline",
      "description": "Generate the HTML for a timeline (div.timeline with .timeline-event/.event-marker/.event-content classes) from JSON of the form…",
      "category": "generators"
    },
    {
      "name": "json_to_typescript",
      "description": "Generate TypeScript interfaces or type aliases from a JSON sample.",
      "category": "data"
    },
    {
      "name": "json_to_url_params",
      "description": "Convert a JSON object into a URL query string that starts with \"?\".",
      "category": "data"
    },
    {
      "name": "json_to_xml",
      "description": "Convert a JSON value to one XML document.",
      "category": "data"
    },
    {
      "name": "json_to_zod_schema",
      "description": "Generate a Zod validation schema (TypeScript source) from a JSON sample.",
      "category": "seo"
    },
    {
      "name": "json_unflatten",
      "description": "Unflatten a flat key map back into nested JSON.",
      "category": "data"
    },
    {
      "name": "json_validate",
      "description": "Validate a JSON string.",
      "category": "validation"
    },
    {
      "name": "json_visualizer",
      "description": "Return a text tree outline, structure statistics, and JSONPath list for a JSON document.",
      "category": "data"
    },
    {
      "name": "json_yaml_converter",
      "description": "Convert JSON to YAML or YAML to JSON and return the converted text.",
      "category": "data"
    },
    {
      "name": "jwt_decode",
      "description": "Decode a JWT header + payload.",
      "category": "developer"
    },
    {
      "name": "jwt_generator",
      "description": "Generate a signed JWT (HS256, HS384, or HS512 via HMAC) and return the token plus the decoded header and payload.",
      "category": "developer"
    },
    {
      "name": "jwt_security_validator",
      "description": "Decode a JWT and return a list of security checks (algorithm strength, expiration, not-before, issued-at, issuer, audience, subject…",
      "category": "developer"
    },
    {
      "name": "keyboard_shortcut_finder",
      "description": "Return keyboard shortcuts (Mac and Windows keys) that match a search query, app, or category.",
      "category": "productivity"
    },
    {
      "name": "keyword_density_checker",
      "description": "Analyze keyword density in text and return word/sentence/paragraph counts, the top 1-gram, 2-gram, and 3-gram phrases with counts…",
      "category": "seo"
    },
    {
      "name": "kktc_exchange_rates",
      "description": "Return live buy and sell exchange rates (against Turkish lira) from Northern Cyprus (KKTC) exchange offices and banks, per currency…",
      "category": "finance"
    },
    {
      "name": "knap_render",
      "description": "Render a Knap template (knap.md, the Markdown template language behind Obsidian Web Clipper and Importer) with a JSON object of variables…",
      "category": "data"
    },
    {
      "name": "lesson_plan_template",
      "description": "Fill a structured lesson plan template (header, learning objectives, materials, timed activities, assessment, homework, notes) and return…",
      "category": "education"
    },
    {
      "name": "levenshtein_distance",
      "description": "Compute the Levenshtein edit distance between two strings (minimum single-character insertions, deletions, or substitutions to transform…",
      "category": "text"
    },
    {
      "name": "line_dedupe",
      "description": "Remove duplicate lines, keeping either the first or the last occurrence.",
      "category": "text"
    },
    {
      "name": "line_prefix_suffix",
      "description": "Add a prefix, a suffix, or line numbers to every line of a text.",
      "category": "text"
    },
    {
      "name": "line_sort",
      "description": "Sort lines alphabetically, numerically, by length, or shuffle them randomly.",
      "category": "text"
    },
    {
      "name": "linkedin_post_generator",
      "description": "Assemble a LinkedIn post from a hook, a body, a call to action and hashtags, or from one of seven built-in templates (thought leadership…",
      "category": "generators"
    },
    {
      "name": "llm_requirements_calculator",
      "description": "Estimate the VRAM, system RAM, and disk space needed to run an open-weight LLM locally, and which common GPUs and Macs it fits on.",
      "category": "calculators"
    },
    {
      "name": "llms_txt_generate",
      "description": "Build an llms.txt file (llmstxt.org format): an H1 site name, a blockquote summary, optional prose, H2 sections of \"- [title](url)…",
      "category": "seo"
    },
    {
      "name": "loan_calculate",
      "description": "Amortise a fixed-rate loan and show the impact of an optional monthly extra payment on payoff time and total interest.",
      "category": "finance"
    },
    {
      "name": "lorem_ipsum_generate",
      "description": "Generate Lorem Ipsum placeholder text: words, sentences, or paragraphs.",
      "category": "generators"
    },
    {
      "name": "macro_calculator",
      "description": "Calculate daily calorie needs and a macronutrient split (protein, carbs, fat in grams and kcal) for weight loss, maintenance, or muscle…",
      "category": "calculators"
    },
    {
      "name": "markdown_table_generator",
      "description": "Build a GitHub-flavoured Markdown table and return the markdown string.",
      "category": "text"
    },
    {
      "name": "markdown_table_parse",
      "description": "Parse a GitHub-flavored Markdown table into structured rows: headers, column alignments, cell rows, and one record object per row.",
      "category": "data"
    },
    {
      "name": "markdown_table_to_csv",
      "description": "Convert a GitHub-flavored Markdown pipe table to RFC 4180 CSV.",
      "category": "data"
    },
    {
      "name": "markdown_to_html",
      "description": "Convert Markdown to HTML, including GFM tables, task lists, nested lists, strikethrough, fenced code and autolinks.",
      "category": "text"
    },
    {
      "name": "markdown_toc",
      "description": "Build a nested Markdown table of contents from a document's headings, with GitHub-style anchor links by default (or GitLab anchors…",
      "category": "text"
    },
    {
      "name": "math_formula_templates",
      "description": "Return LaTeX source for well-known math and physics formulas from the built-in template library of the math expression generator page (40+…",
      "category": "generators"
    },
    {
      "name": "merge_bookmarks",
      "description": "Merge two or more Netscape bookmarks.html exports (Chrome, Firefox, Edge, Safari) into one bookmarks.html that any browser imports.",
      "category": "text"
    },
    {
      "name": "merge_ics",
      "description": "Merge several iCalendar (.ics) exports into one calendar file for a single import or archive.",
      "category": "productivity"
    },
    {
      "name": "merge_vcf",
      "description": "Combine several .vcf vCard files into one importable file.",
      "category": "conversion"
    },
    {
      "name": "meta_tag_generator",
      "description": "Generate HTML <head> meta tags (title, description, keywords, robots, canonical, Open Graph, Twitter Card, viewport, charset, language)…",
      "category": "seo"
    },
    {
      "name": "mime_type_finder",
      "description": "Return MIME types with their file extensions and descriptions.",
      "category": "network"
    },
    {
      "name": "mock_json_generator",
      "description": "Generate an array of mock JSON records from a list of field definitions.",
      "category": "data"
    },
    {
      "name": "morse_code",
      "description": "Encode text to Morse code or decode it back.",
      "category": "encoding"
    },
    {
      "name": "mortgage_calculate",
      "description": "Compute a fixed-rate mortgage monthly payment using the standard amortisation formula M = P·r(1+r)^n / ((1+r)^n - 1).",
      "category": "finance"
    },
    {
      "name": "nanoid_generate",
      "description": "Generate one or more NanoID-style identifiers.",
      "category": "generators"
    },
    {
      "name": "ndjson_to_csv",
      "description": "Convert newline-delimited JSON (NDJSON, JSON Lines, .jsonl) into a flat CSV.",
      "category": "data"
    },
    {
      "name": "net_worth_calculator",
      "description": "Return net worth (total assets minus total liabilities), the debt-to-asset ratio in percent, and subtotals per category.",
      "category": "finance"
    },
    {
      "name": "neumorphism_generator",
      "description": "Generate soft-UI (neumorphism) CSS from a single surface colour.",
      "category": "generators"
    },
    {
      "name": "number_base_convert",
      "description": "Convert an integer between bases 2, 8, 10, and 16.",
      "category": "encoding"
    },
    {
      "name": "one_rep_max_calculator",
      "description": "Estimate a one-rep max (1RM) from a weight lifted for a number of reps, using Brzycki, Epley, Lander, Lombardi, Mayhew, O'Conner…",
      "category": "calculators"
    },
    {
      "name": "open_graph_preview",
      "description": "Extract Open Graph and Twitter Card tags from an HTML document (or take them as fields), and return the parsed values, validation issues…",
      "category": "seo"
    },
    {
      "name": "openapi_validator",
      "description": "Validate an OpenAPI 3.x (or Swagger 2.0) document given as JSON or YAML and return a report with errors, warnings, and summary info (title…",
      "category": "validation"
    },
    {
      "name": "opml_to_bookmarks_html",
      "description": "Convert an OPML subscription or outline export (Feedly, Inoreader, NetNewsWire, podcast apps) into a Netscape bookmarks.html that Chrome…",
      "category": "text"
    },
    {
      "name": "opml_to_csv",
      "description": "Flatten an OPML subscription export (Feedly, Inoreader, NetNewsWire, podcast apps) into CSV with one row per feed: title, xml_url…",
      "category": "data"
    },
    {
      "name": "pace_calculator",
      "description": "Running pace calculator.",
      "category": "calculators"
    },
    {
      "name": "palindrome_check",
      "description": "Check if a string reads the same forwards and backwards.",
      "category": "text"
    },
    {
      "name": "password_breach_checker",
      "description": "Return whether a password appears in known data breaches and how many times, using the Have I Been Pwned k-anonymity range API.",
      "category": "security"
    },
    {
      "name": "password_generate",
      "description": "Generate cryptographically-strong passwords.",
      "category": "security"
    },
    {
      "name": "password_pattern_validator",
      "description": "Validate a password against configurable rules and return each check (pass/fail with severity), a 0-100 score, and a strength label.",
      "category": "security"
    },
    {
      "name": "password_strength",
      "description": "Estimate password strength using character-class entropy.",
      "category": "security"
    },
    {
      "name": "paycheck_calculator",
      "description": "Estimate United States take-home pay from a gross salary: federal income tax using the published bracket tables and the standard deduction…",
      "category": "finance"
    },
    {
      "name": "pdf_delete_pages",
      "description": "Remove pages from a PDF and return the rest in their original order.",
      "category": "documents"
    },
    {
      "name": "pdf_extract",
      "description": "PDF Text Extractor.",
      "category": "developer"
    },
    {
      "name": "pdf_merge",
      "description": "Combine several PDFs into one, in the order given.",
      "category": "documents"
    },
    {
      "name": "pdf_metadata_remover",
      "description": "Remove document metadata from a PDF: the Info dictionary fields (Title, Author, Subject, Keywords, Creator, Producer, CreationDate, ModDate…",
      "category": "documents"
    },
    {
      "name": "pdf_organize",
      "description": "Reorder the pages of a PDF.",
      "category": "documents"
    },
    {
      "name": "pdf_page_numbers",
      "description": "Add page numbers to a PDF.",
      "category": "documents"
    },
    {
      "name": "pdf_rotate",
      "description": "Rotate pages of a PDF by 90, 180 or 270 degrees clockwise, or the negative of those for anticlockwise.",
      "category": "documents"
    },
    {
      "name": "pdf_split",
      "description": "Take a selection of pages out of a PDF into a new one.",
      "category": "documents"
    },
    {
      "name": "pdf_watermark",
      "description": "Stamp text across the pages of a PDF — CONFIDENTIAL, DRAFT, a company name.",
      "category": "documents"
    },
    {
      "name": "pem_decoder",
      "description": "Parse PEM certificates, CSRs, and keys in the browser-equivalent decoder.",
      "category": "encoding"
    },
    {
      "name": "percentage_calculate",
      "description": "Percentage math.",
      "category": "calculators"
    },
    {
      "name": "pgp_encryption_tool",
      "description": "Encrypt or decrypt a short message with RSA-OAEP (SHA-256) PEM keys, or generate a new RSA key pair.",
      "category": "security"
    },
    {
      "name": "phone_format",
      "description": "Validate a phone number and format it as E.164 (+CCNNN…), international and national, using libphonenumber metadata for every country.",
      "category": "validation"
    },
    {
      "name": "placeholder_image_generator",
      "description": "Generate a placeholder image as an SVG string: a solid background with centred bold text (the dimensions by default, or custom text)…",
      "category": "generators"
    },
    {
      "name": "plist_json_converter",
      "description": "Convert an Apple property list (Info.plist, preferences, .mobileconfig, entitlements) to JSON, or JSON to an XML plist.",
      "category": "data"
    },
    {
      "name": "port_reference_guide",
      "description": "Return well-known network ports that match a port number, service name, protocol, or category, with a security note (safe / caution /…",
      "category": "network"
    },
    {
      "name": "postman_to_curl",
      "description": "Convert a Postman collection (v2.x JSON) into curl commands, one per request, and return them as a script plus a per-request list.",
      "category": "network"
    },
    {
      "name": "prime_check",
      "description": "Check whether an integer is prime.",
      "category": "calculators"
    },
    {
      "name": "privacy_policy_checker",
      "description": "Check a privacy policy text for 24 expected disclosures and return a 0-100 completeness score, each check with found/missing and severity…",
      "category": "developer"
    },
    {
      "name": "privacy_policy_generator",
      "description": "Generate a privacy policy in Markdown from a short questionnaire: what personal data you collect (name, email, phone, address, payment…",
      "category": "text"
    },
    {
      "name": "profit_margin_calculator",
      "description": "Return cost, selling price, profit, profit margin (percent of price), and markup (percent of cost).",
      "category": "finance"
    },
    {
      "name": "purchase_order_generator",
      "description": "Return a purchase order as structured data and as Markdown text: line items with amounts, subtotal, tax, shipping, and total, plus company…",
      "category": "documents"
    },
    {
      "name": "qr_code_generator",
      "description": "Generate a QR code as an SVG file, the same file the QR Code Generator page downloads.",
      "category": "generators"
    },
    {
      "name": "qr_text",
      "description": "Generate a scannable QR code as text art.",
      "category": "generators"
    },
    {
      "name": "query_string_parse",
      "description": "Parse a URL query string into an object.",
      "category": "data"
    },
    {
      "name": "query_string_stringify",
      "description": "Serialise an object into a URL query string.",
      "category": "encoding"
    },
    {
      "name": "quiz_maker",
      "description": "Build a quiz from multiple-choice, true/false and open-ended questions and return the numbered quiz, an answer key (with model answers…",
      "category": "education"
    },
    {
      "name": "random_key_generator",
      "description": "Generate cryptographically random keys (API keys, tokens, secrets) and return them as a list of strings.",
      "category": "security"
    },
    {
      "name": "random_name_picker",
      "description": "Pick a random winner from a list of names.",
      "category": "generators"
    },
    {
      "name": "random_number",
      "description": "Generate cryptographically-random integers or floats in a range.",
      "category": "generators"
    },
    {
      "name": "random_picker",
      "description": "Generate random numbers, pick random items from a list, or split people into random teams.",
      "category": "generators"
    },
    {
      "name": "random_string",
      "description": "Generate cryptographically-random strings from a chosen charset.",
      "category": "security"
    },
    {
      "name": "readability_calculator",
      "description": "Compute six readability scores for English text (Flesch Reading Ease, Flesch-Kincaid Grade, Gunning Fog, SMOG, Coleman-Liau, Automated…",
      "category": "text"
    },
    {
      "name": "reading_time",
      "description": "Estimate reading time for a block of text.",
      "category": "text"
    },
    {
      "name": "redirect_chain_checker",
      "description": "Follow the redirect chain of a public http(s) URL hop by hop and return each hop's URL, HTTP status, Location and time in milliseconds…",
      "category": "seo"
    },
    {
      "name": "refinance_calculator",
      "description": "Return the new monthly payment, monthly savings, total cost of the current vs the new loan, total savings, break-even month, and whether…",
      "category": "finance"
    },
    {
      "name": "regex_test",
      "description": "Test a JavaScript regular expression against input text.",
      "category": "developer"
    },
    {
      "name": "relationship_calculator",
      "description": "Calculate how long a relationship has lasted between a start date and a target date: years/months/days, totals in days, weeks, months…",
      "category": "datetime"
    },
    {
      "name": "report_card_generator",
      "description": "Generate a report card from a list of subjects with letter grades and credits and return the credit-weighted GPA on a 4.0 scale…",
      "category": "education"
    },
    {
      "name": "research_title_generator",
      "description": "Generate up to 20 academic research paper titles from a topic, field, variables, population, and research type, and return each title…",
      "category": "education"
    },
    {
      "name": "retirement_calculator",
      "description": "Return the projected savings at retirement, the amount needed to fund an inflation-adjusted monthly income until life expectancy, the gap…",
      "category": "finance"
    },
    {
      "name": "retro_meeting",
      "description": "Turn a finished sprint-retrospective board into shareable results: a Markdown summary grouped by category with items sorted by votes, a CSV…",
      "category": "productivity"
    },
    {
      "name": "reverse_dns_lookup",
      "description": "Look up the reverse DNS (PTR) hostname of an IPv4 or IPv6 address through a public DNS-over-HTTPS resolver.",
      "category": "network"
    },
    {
      "name": "robots_txt_generator",
      "description": "Return a robots.txt file built from user-agent rules (allow, disallow, crawl-delay), sitemap URLs and an optional Host directive…",
      "category": "seo"
    },
    {
      "name": "robots_txt_tester",
      "description": "Test URLs or paths against robots.txt text for a given crawler, following RFC 9309 as Google implements it: the group naming the crawler's…",
      "category": "seo"
    },
    {
      "name": "roi_calculator",
      "description": "Return the return on investment: total invested (amount plus extra costs), net gain, simple ROI percent, annualized ROI percent, years…",
      "category": "finance"
    },
    {
      "name": "roman_numeral",
      "description": "Convert between Roman numerals and Arabic integers (1-3999).",
      "category": "conversion"
    },
    {
      "name": "rot13",
      "description": "Apply the ROT13 Caesar cipher to text.",
      "category": "encoding"
    },
    {
      "name": "rtf_to_markdown",
      "description": "Convert Rich Text Format (.rtf) source to Markdown.",
      "category": "text"
    },
    {
      "name": "rubric_generator",
      "description": "Build a grading rubric from weighted criteria and performance levels and return the rubric grid, the total weight (with a flag when it is…",
      "category": "education"
    },
    {
      "name": "safari_bookmarks_to_html",
      "description": "Convert Safari's Bookmarks.plist (from ~/Library/Safari on a Mac or a backup of it) into a Netscape bookmarks.html that Chrome, Firefox…",
      "category": "text"
    },
    {
      "name": "salary_calculator",
      "description": "Return the same pay expressed as hourly, daily, weekly, bi-weekly, semi-monthly, monthly, and yearly amounts.",
      "category": "finance"
    },
    {
      "name": "savings_calculator",
      "description": "Return the future value of savings with compound interest and monthly contributions: total value, total contributions, total interest…",
      "category": "finance"
    },
    {
      "name": "sbv_to_srt",
      "description": "Convert a YouTube SubViewer (.sbv) caption export to SubRip (.srt), or back again.",
      "category": "media"
    },
    {
      "name": "schema_org_generator",
      "description": "Superseded by json_ld_generator, which builds these 8 types and 6 more with the same output; this id stays so existing callers keep working.",
      "category": "seo"
    },
    {
      "name": "scientific_calculator",
      "description": "Evaluate a scientific math expression and return the numeric result (12 significant digits).",
      "category": "calculators"
    },
    {
      "name": "scope_creep_tracker",
      "description": "Measure scope creep on a project and return the numbers a stakeholder report needs: original (baseline) effort, approved / pending /…",
      "category": "productivity"
    },
    {
      "name": "seating_chart_maker",
      "description": "Assign students to a rows × columns seating grid (in list order, or shuffled) and return the grid, each student's row/column/seat number…",
      "category": "education"
    },
    {
      "name": "security_headers_analyzer",
      "description": "Grade a set of HTTP response headers for security: returns a 0-100 score, a letter grade (A+ to F), a pass/fail/warning summary…",
      "category": "network"
    },
    {
      "name": "self_employment_tax_calculator",
      "description": "Return the yearly self-employment tax bill for the USA (SE tax: Social Security, Medicare, additional Medicare, plus federal income tax)…",
      "category": "finance"
    },
    {
      "name": "seo_title_description_writer",
      "description": "Analyze an SEO title and meta description and return character counts, estimated SERP pixel widths against Google desktop/mobile limits…",
      "category": "seo"
    },
    {
      "name": "serp_preview",
      "description": "Return how a page title and meta description will display in Google search results on desktop or mobile: the truncated display text…",
      "category": "seo"
    },
    {
      "name": "signature_generator",
      "description": "Generate a typed signature as an SVG string: the name is set in a handwriting font (cursive, elegant, bold, or casual) in the chosen colour…",
      "category": "generators"
    },
    {
      "name": "site_to_markdown",
      "description": "Convert a full web page's HTML into clean Markdown, the way the Site to Markdown page does: navigation, footers, scripts, styles, iframes…",
      "category": "text"
    },
    {
      "name": "sitemap_validator",
      "description": "Validate sitemap XML text against the sitemaps.org protocol: well-formed XML, <urlset> or <sitemapindex> and its namespace, absolute…",
      "category": "seo"
    },
    {
      "name": "sleep_calculator",
      "description": "Calculate the best bedtimes for a wake-up time, or the best wake-up times for a bedtime, based on 90-minute sleep cycles plus 15 minutes…",
      "category": "calculators"
    },
    {
      "name": "slug_generate",
      "description": "Turn a string into a URL-safe slug (kebab-case by default, Unicode-normalized).",
      "category": "seo"
    },
    {
      "name": "slugify_deep",
      "description": "Slugify text with locale-aware diacritics handling (Turkish, German, French, Spanish) before falling back to Unicode NFD stripping.",
      "category": "text"
    },
    {
      "name": "social_media_bio_generator",
      "description": "Compose a social-media profile bio from a profession, skills, an achievement, a location and a call to action in one of five styles…",
      "category": "generators"
    },
    {
      "name": "social_media_calendar_generator",
      "description": "Turn a list of planned social media posts into a content calendar: a CSV export (Date, Time, Platform, Content Type, Title, Description…",
      "category": "productivity"
    },
    {
      "name": "split_ics",
      "description": "Split one large iCalendar (.ics) file into smaller .ics files so an importer that rejects a big calendar accepts each part.",
      "category": "productivity"
    },
    {
      "name": "sprint_capacity_calculator",
      "description": "Calculate a team's realistic sprint capacity in hours and story points.",
      "category": "productivity"
    },
    {
      "name": "sql_formatter",
      "description": "Format (beautify) or minify a SQL query and return the result with lint warnings.",
      "category": "developer"
    },
    {
      "name": "sql_to_csv",
      "description": "Read rows out of SQL INSERT statements and return CSV, one file per table.",
      "category": "data"
    },
    {
      "name": "sql_to_json",
      "description": "Read rows out of SQL INSERT statements (mysqldump, SQLite dump, pg_dump made with --inserts; PostgreSQL COPY blocks are not read)…",
      "category": "data"
    },
    {
      "name": "srt_to_txt",
      "description": "Turn a SubRip (.srt) or WebVTT (.vtt) caption file into a plain-text transcript: cue numbers and timestamps are removed and the cue text is…",
      "category": "media"
    },
    {
      "name": "srt_to_vtt",
      "description": "Convert SubRip (.srt) captions to WebVTT (.vtt) and back.",
      "category": "media"
    },
    {
      "name": "ssl_certificate_checker",
      "description": "Return the TLS certificate details of a public hostname: validity, issuer, subject, expiry and days remaining, protocol, key size…",
      "category": "network"
    },
    {
      "name": "state_machine_designer",
      "description": "Validate a finite state machine given as nodes and edges and return a normalized machine config plus issues.",
      "category": "validation"
    },
    {
      "name": "statistics_calculator",
      "description": "Descriptive statistics for a list of numbers: count, sum, mean, median, mode, min, max, range, variance, standard deviation…",
      "category": "calculators"
    },
    {
      "name": "stock_average_calculator",
      "description": "Return the average cost per share (dollar cost averaging) across several buys, the total shares, total invested, break-even price…",
      "category": "calculators"
    },
    {
      "name": "string_escape",
      "description": "Escape or unescape a string for JSON, HTML, URL, or regex contexts.",
      "category": "encoding"
    },
    {
      "name": "structured_data_tester",
      "description": "Validate JSON-LD structured data (given directly or extracted from HTML <script type=\"application/ld+json\"> blocks) and return, per…",
      "category": "seo"
    },
    {
      "name": "subnet_calculator",
      "description": "Return the full IPv4 subnet breakdown for an address: network and broadcast address, subnet mask, wildcard mask, binary mask, first…",
      "category": "network"
    },
    {
      "name": "subtitle_clean",
      "description": "Clean the text of a SubRip (.srt) or WebVTT (.vtt) caption file without touching its timing: strip HTML tags such as <i> and <font>…",
      "category": "media"
    },
    {
      "name": "subtitle_fps_convert",
      "description": "Rescale every cue in a SubRip (.srt) or WebVTT (.vtt) caption file from one frame rate to another, so a track that slowly drifts out…",
      "category": "media"
    },
    {
      "name": "subtitle_merge",
      "description": "Join several SubRip (.srt) or WebVTT (.vtt) caption files into one track.",
      "category": "media"
    },
    {
      "name": "subtitle_overlap_fix",
      "description": "Fix overlapping cues in a SubRip (.srt) or WebVTT (.vtt) caption file, the kind a merge, shift or frame-rate change leaves behind and that…",
      "category": "media"
    },
    {
      "name": "subtitle_shift",
      "description": "Shift every cue in a SubRip (.srt) or WebVTT (.vtt) caption file by one fixed offset, so a track that runs early or late lines up…",
      "category": "media"
    },
    {
      "name": "svg_animation_generator",
      "description": "Return an animated SVG (inline CSS @keyframes) and/or the CSS alone, built from a shape template (rect, circle, star, stick figure, sun…)…",
      "category": "generators"
    },
    {
      "name": "swagger_to_openapi",
      "description": "Convert a Swagger 2.0 document (JSON or YAML) to OpenAPI 3.0.3 and return the result as pretty-printed JSON with path and schema counts.",
      "category": "data"
    },
    {
      "name": "tailwind_to_stylex",
      "description": "Convert Tailwind CSS v4 theme variables, JSON design tokens, or a static Tailwind config theme into StyleX defineConsts source…",
      "category": "developer"
    },
    {
      "name": "tdee_calculator",
      "description": "Calculate Total Daily Energy Expenditure (TDEE) and Basal Metabolic Rate (BMR) with the Mifflin-St Jeor equation, plus calorie targets…",
      "category": "calculators"
    },
    {
      "name": "tech_debt_register",
      "description": "Analyze a technical debt register and return the stakeholder numbers: active vs resolved counts, total hours to fix, weekly \"interest\" cost…",
      "category": "productivity"
    },
    {
      "name": "temperature_convert",
      "description": "Convert temperature between Celsius (C), Fahrenheit (F), Kelvin (K), and Rankine (R).",
      "category": "calculators"
    },
    {
      "name": "template_to_liquid",
      "description": "Convert a Handlebars, Mustache or Knap template into Shopify Liquid.",
      "category": "conversion"
    },
    {
      "name": "text_diff",
      "description": "Line-by-line diff of two strings using LCS.",
      "category": "text"
    },
    {
      "name": "text_encryption",
      "description": "Encrypt text with a password using AES-256-GCM (key derived with PBKDF2-SHA256, 100000 iterations) and return a base64 ciphertext…",
      "category": "security"
    },
    {
      "name": "text_find_replace",
      "description": "Find and replace text and return the new text with the match and replacement counts.",
      "category": "text"
    },
    {
      "name": "text_repeat",
      "description": "Repeat text N times with an optional separator.",
      "category": "text"
    },
    {
      "name": "text_reverse",
      "description": "Reverse text by characters, words, or lines.",
      "category": "text"
    },
    {
      "name": "text_shadow_generator",
      "description": "Generate a CSS text-shadow declaration from offset, blur, colour and opacity, or from a named preset (subtle, hard, glow, outline, emboss…",
      "category": "generators"
    },
    {
      "name": "text_statistics",
      "description": "Compute detailed text statistics: characters (with and without spaces), words, sentences, paragraphs, averages, plus Flesch Reading Ease…",
      "category": "text"
    },
    {
      "name": "text_summarizer",
      "description": "Create an extractive summary of a text and return the summary with word and sentence statistics.",
      "category": "text"
    },
    {
      "name": "text_truncate",
      "description": "Truncate text to a maximum number of characters, or of words, optionally cutting at the last word boundary, with a suffix.",
      "category": "text"
    },
    {
      "name": "thesis_statement_generator",
      "description": "Generate up to 5 thesis statement variations from a topic, a position, and optional supporting reasons for four essay types, and return…",
      "category": "education"
    },
    {
      "name": "thread_generator",
      "description": "Build a numbered Twitter/X thread from a list of tweets, or split long-form text into tweets of at most 280 characters.",
      "category": "generators"
    },
    {
      "name": "time_difference",
      "description": "Work out how long there is between two times of day, with no dates involved.",
      "category": "datetime"
    },
    {
      "name": "timesheet_calculator",
      "description": "Return total, regular, and overtime hours plus regular, overtime, and total pay for a list of work entries (start time, end time, break).",
      "category": "calculators"
    },
    {
      "name": "timezone_convert",
      "description": "Convert a datetime between IANA time zones.",
      "category": "datetime"
    },
    {
      "name": "tip_calculate",
      "description": "Calculate tip amount, total, and per-person split.",
      "category": "calculators"
    },
    {
      "name": "tone_analyzer",
      "description": "Analyze the emotional tone of English text with a rule-based word dictionary and return tone scores (joy, sadness, anger, fear, confidence…",
      "category": "text"
    },
    {
      "name": "travel_budget_calculator",
      "description": "Estimate a trip budget from per-day and one-off expenses: total per person, total for all travelers, daily spend, and a per-category…",
      "category": "finance"
    },
    {
      "name": "tsv_to_csv",
      "description": "Convert tab-separated values (TSV, the format psql, mysql --batch and Excel \"Text (Tab delimited)\" write) to comma-separated values…",
      "category": "data"
    },
    {
      "name": "two_fa_code_tester",
      "description": "Compute the current TOTP code (RFC 6238) for a base32 secret and return the code, the seconds remaining in the window, and — when a code is…",
      "category": "security"
    },
    {
      "name": "type_scale_generator",
      "description": "Generate a modular type scale as CSS custom properties.",
      "category": "generators"
    },
    {
      "name": "ulid_generate",
      "description": "Generate one or more ULIDs — 26-character Crockford base32 identifiers that are lexicographically sortable by creation time.",
      "category": "generators"
    },
    {
      "name": "unit_convert",
      "description": "Convert between length, weight, volume, area, speed, time, data size and temperature units (km/mi/m/ft, kg/lb, L/gal/m3, m²/ha/acre…",
      "category": "datetime"
    },
    {
      "name": "unix_timestamp_convert",
      "description": "Convert between Unix timestamps and ISO dates.",
      "category": "datetime"
    },
    {
      "name": "url_decode",
      "description": "Decode a percent-encoded (URL-encoded) string back to plain text.",
      "category": "encoding"
    },
    {
      "name": "url_encode",
      "description": "Percent-encode a string for safe inclusion in URLs.",
      "category": "encoding"
    },
    {
      "name": "url_params_to_json",
      "description": "Parse URL query parameters into a JSON object.",
      "category": "data"
    },
    {
      "name": "url_parse",
      "description": "Parse a URL into its components: protocol, host, port, pathname, query (as an object, repeat keys become arrays), hash, origin…",
      "category": "data"
    },
    {
      "name": "url_safety_checker",
      "description": "Run offline heuristic safety checks on a URL and return a risk level (low/medium/high), a 0+ risk score, per-check results, and warnings.",
      "category": "security"
    },
    {
      "name": "url_to_webloc",
      "description": "Convert Windows .url Internet Shortcuts into Mac .webloc website location files.",
      "category": "conversion"
    },
    {
      "name": "url_validate",
      "description": "Validate that a string is a well-formed URL and (optionally) require HTTPS.",
      "category": "validation"
    },
    {
      "name": "uuid_generate",
      "description": "Generate one or more UUIDs: random v4 (default), time-ordered v7 (RFC 9562), time-based v1 (RFC 4122, with a random node id rather than…",
      "category": "generators"
    },
    {
      "name": "vat_calculator",
      "description": "Return the net amount, the VAT (or sales tax) amount, and the gross amount for a price.",
      "category": "finance"
    },
    {
      "name": "vcard_generate",
      "description": "Generate a vCard (.vcf) contact card from name, organisation, emails, phones, address, URL, note and birthday.",
      "category": "generators"
    },
    {
      "name": "vcf_to_csv",
      "description": "Convert a vCard (.vcf) contacts export from an iPhone, an Android phone, Gmail or Outlook into CSV, one row per contact.",
      "category": "data"
    },
    {
      "name": "vocabulary_worksheet",
      "description": "Turn a word list into a printable vocabulary and spelling worksheet with an answer key.",
      "category": "education"
    },
    {
      "name": "water_intake_calculator",
      "description": "Calculate a recommended daily water intake in liters, ounces, cups, and 250 ml glasses, plus a per-waking-hour amount.",
      "category": "calculators"
    },
    {
      "name": "webloc_to_url",
      "description": "Convert Mac .webloc website shortcuts into Windows .url Internet Shortcuts.",
      "category": "conversion"
    },
    {
      "name": "whitespace_clean",
      "description": "Clean whitespace in text: trim the ends, trim each line, collapse runs of spaces, remove blank lines, and normalize line endings.",
      "category": "text"
    },
    {
      "name": "whois_lookup",
      "description": "Return WHOIS-style registration data for a domain from the public RDAP service: registrar, creation, update and expiry dates, EPP status…",
      "category": "network"
    },
    {
      "name": "windows_update_settings_generator",
      "description": "Generate a Windows Update configuration script (.reg, .ps1, or .bat) plus a matching restore script from a preset and/or individual…",
      "category": "security"
    },
    {
      "name": "word_count",
      "description": "Count words, characters, sentences, paragraphs, lines, and estimated reading time at 200 words per minute.",
      "category": "text"
    },
    {
      "name": "work_anniversary_calculator",
      "description": "Calculate job tenure between a start date and a target date: years/months/days, totals in days, weeks, months, and hours, approximate…",
      "category": "datetime"
    },
    {
      "name": "workflow_run",
      "description": "Execute a linear chain of MCP tool calls in one round-trip.",
      "category": "developer"
    },
    {
      "name": "worksheet_generator",
      "description": "Generate a printable math worksheet of addition, subtraction, multiplication, division, or mixed problems at easy (1–10), medium (1–50)…",
      "category": "education"
    },
    {
      "name": "wvw_apps_json_generator",
      "description": "Build and validate an apps.json manifest for wvw.dev (World Vibe Web) from a store object and a list of apps.",
      "category": "validation"
    },
    {
      "name": "x402_config_generator",
      "description": "Return ready-to-paste x402 payment integration code plus the install command: a paywalled SERVER (Express, Hono, Next.js, Fastify, Gin…",
      "category": "generators"
    },
    {
      "name": "xml_formatter",
      "description": "Beautify or minify an XML document and return the formatted text.",
      "category": "validation"
    },
    {
      "name": "xml_sitemap_generator",
      "description": "Generate a valid XML sitemap from a list of URLs and return the XML, the number of URLs written, the invalid URLs that were skipped…",
      "category": "seo"
    },
    {
      "name": "xml_to_json",
      "description": "Minimal XML → JSON converter.",
      "category": "data"
    },
    {
      "name": "yaml_to_json",
      "description": "Minimal YAML → JSON converter (scalars, maps, lists, basic block scalars).",
      "category": "data"
    },
    {
      "name": "yaml_toml_converter",
      "description": "Convert YAML to TOML 1.0 or TOML back to YAML.",
      "category": "data"
    },
    {
      "name": "yaml_validator",
      "description": "Validate YAML and return either the re-formatted document or the parse error with its line and column.",
      "category": "validation"
    },
    {
      "name": "youtube_description_generator",
      "description": "Assemble a structured YouTube video description from main content, timestamps, links, social links, a call to action and hashtags…",
      "category": "generators"
    },
    {
      "name": "yoyo_component_generator",
      "description": "Generate Yoyo PHP component boilerplate: the PHP class (properties, props, query string, listeners, lifecycle hooks, actions, computed…",
      "category": "generators"
    },
    {
      "name": "yoyo_config_generator",
      "description": "Generate Yoyo PHP framework setup code: the composer install command, the bootstrap/service-provider code, the route handler, and a sample…",
      "category": "generators"
    },
    {
      "name": "yoyo_loading_state_builder",
      "description": "Build Yoyo PHP \"yoyo:spinning\" loading-state attributes and a ready-to-paste HTML snippet.",
      "category": "text"
    }
  ],
  "tags": [
    "developer-tools",
    "utilities",
    "encoding",
    "crypto",
    "text",
    "data"
  ],
  "contact": {
    "url": "https://findutils.com/contact/"
  }
}
