# Benchline > A quiet bench for exact work. Local developer tools, in the browser. Canonical site: https://benchline.fabwaseem.com MCP endpoint: https://benchline.fabwaseem.com/mcp OpenAPI: https://benchline.fabwaseem.com/openapi.json Connect instructions: https://benchline.fabwaseem.com/mcp ## Developer / Cron - [Cron expression builder](https://benchline.fabwaseem.com/t/cron-expression-builder): Build or paste a cron schedule, read it in plain English, and see the next run times. ## Developer / Next.js - [Next.js Dockerfile generator](https://benchline.fabwaseem.com/t/nextjs-dockerfile-generator): Generate a production multi-stage Dockerfile for Next.js, plus .dockerignore and compose. ## Developer / Fixtures - [Lorem ipsum](https://benchline.fabwaseem.com/t/lorem-ipsum): Placeholder copy, or fake rows as JSON, CSV, and SQL, from a seed. ## Developer / Regex - [Regex tester](https://benchline.fabwaseem.com/t/regex-tester): Test a JavaScript pattern, read the groups, and preview a replacement. ## Developer / Code - [Code Minifier](https://benchline.fabwaseem.com/t/code-minifier): Minify JavaScript, CSS, and HTML with byte-level savings. ## Data & Formats / JSON - [JSON formatter](https://benchline.fabwaseem.com/t/json-formatter): Pretty-print, minify, and validate JSON, with the exact line and column when it fails. - [JSON YAML converter](https://benchline.fabwaseem.com/t/json-yaml-convert): Convert JSON, YAML, TOML, and XML in the browser, and keep the line number when a document fails. - [JSON Schema](https://benchline.fabwaseem.com/t/json-schema-validate): Infer a schema from JSON, validate against one, and export TypeScript and Zod. - [JSONPath tester](https://benchline.fabwaseem.com/t/jsonpath-tester): Query JSON with JSONPath Plus and inspect every match. - [JSON to Types](https://benchline.fabwaseem.com/t/json-to-types): Paste JSON, get TypeScript, Zod, Pydantic, dataclass, and Go types. ## Data & Formats / Tables - [CSV JSON converter](https://benchline.fabwaseem.com/t/csv-json-convert): Convert CSV to JSON and JSON back to CSV, with a delimiter and a header row you choose. ## Data & Formats / Encoding - [Base64 codec](https://benchline.fabwaseem.com/t/base64-codec): Encode and decode Base64 for text or a file, including the URL-safe alphabet. - [Programmer calculator](https://benchline.fabwaseem.com/t/programmer-calculator): Base conversions, bitwise ops, and a clickable bit grid. - [ZIP Tools](https://benchline.fabwaseem.com/t/zip-tools): Create ZIP archives and extract them, entirely in your browser. ## Data & Formats / Markup - [Markdown HTML](https://benchline.fabwaseem.com/t/markdown-html): Convert Markdown to HTML, or HTML back to Markdown, with a live preview. ## Data & Formats / SQL - [SQL formatter](https://benchline.fabwaseem.com/t/sql-formatter): Format SQL for PostgreSQL, MySQL, BigQuery, Snowflake, and other dialects. ## SEO & AI Search / AI search - [llms.txt generator](https://benchline.fabwaseem.com/t/llms-txt-generator): Read a public sitemap and write an llms.txt index, plus an optional llms-full.txt. - [AI SEO checker](https://benchline.fabwaseem.com/t/ai-seo-checker): Score crawler access, llms.txt, structured data, and the on-page signals AI search uses. - [robots.txt checker](https://benchline.fabwaseem.com/t/robots-txt-checker): Read allow and disallow rules, sitemap links, and the mistakes that make a robots.txt file lie. - [Page to Markdown](https://benchline.fabwaseem.com/t/html-to-markdown-url): Fetch a public page and turn the article into Markdown. ## SEO & AI Search / SEO - [JSON-LD schema generator](https://benchline.fabwaseem.com/t/schema-generator): Fill a form, get valid schema.org JSON-LD for Article, FAQ, Product, Organization, and more. - [Sitemap validator](https://benchline.fabwaseem.com/t/sitemap-validator): Check a sitemap URL or XML, or generate a urlset from a list. ## SEO & AI Search / AI dev - [AI token counter](https://benchline.fabwaseem.com/t/ai-token-counter): Count tokens and estimate the API cost of a prompt for GPT, Claude, and Gemini models. ## SEO & AI Search / Social previews - [OG image generator](https://benchline.fabwaseem.com/t/og-image-generator): Pick a template, watch the card update, then download the PNG or copy the Next.js file. - [OG template list](https://benchline.fabwaseem.com/t/og-template-list): Browse Open Graph template ids, fields, and color presets. - [Meta tags inspector](https://benchline.fabwaseem.com/t/meta-tags-inspector): Read title, description, canonical, robots, Open Graph, Twitter, and JSON-LD types from one public URL. - [Social Image Resizer](https://benchline.fabwaseem.com/t/social-image-resizer): Fit any photo to the exact dimensions for Instagram, YouTube, X, LinkedIn, and Facebook — cropped to the subject you pick. - [Meme Generator](https://benchline.fabwaseem.com/t/meme-generator): Classic top/bottom caption memes from styles or your own images. ## Image & Media / Image - [Image format converter](https://benchline.fabwaseem.com/t/image-convert): Convert HEIC, WebP, PNG, JPG, and AVIF in the browser. Nothing is uploaded. - [Image compressor](https://benchline.fabwaseem.com/t/image-compress): Shrink JPEG, PNG, WebP, and AVIF in the browser, with the real before and after size. - [Image resizer](https://benchline.fabwaseem.com/t/image-resize): Resize by pixels or percent, with the aspect ratio locked and a batch ZIP. - [QR and barcode reader](https://benchline.fabwaseem.com/t/qr-code-reader): Read QR codes and barcodes from a photo, a paste, or the camera. - [SVG optimizer](https://benchline.fabwaseem.com/t/svg-optimizer): Minify an SVG, compare the size, and keep the viewBox unless you turn that off. - [EXIF viewer and remover](https://benchline.fabwaseem.com/t/exif-viewer-remover): Read photo metadata, including GPS, and strip all of it or only the location. - [Image cropper](https://benchline.fabwaseem.com/t/image-crop): Crop with a free box or an aspect preset, including a circle. - [Image to text](https://benchline.fabwaseem.com/t/ocr-image-to-text): Read the words in a picture. The OCR model downloads once and runs in this browser. - [Background remover](https://benchline.fabwaseem.com/t/background-remover): Cut out a portrait in the browser, or clear a solid backdrop without a download. - [Photo Collage](https://benchline.fabwaseem.com/t/photo-collage): Arrange photos into grid layouts and export high-res PNGs. ## Image & Media / Audio - [Audio Trimmer](https://benchline.fabwaseem.com/t/audio-trimmer): Cut a section out of an audio file. See the waveform, drag the trim region, add fades, and export WAV. ## PDF & Documents - [Merge PDF](https://benchline.fabwaseem.com/t/pdf-merge): Combine PDFs in the browser. Reorder them, keep a page range from each file, and download one document. - [Split PDF](https://benchline.fabwaseem.com/t/pdf-split): Extract a page range, or split a PDF into single pages or chunks, then download a PDF or a ZIP. - [Compress PDF](https://benchline.fabwaseem.com/t/pdf-compress): Shrink a PDF in the browser. Pick a preset or a target size and compare the file before and after. - [Image to PDF](https://benchline.fabwaseem.com/t/image-to-pdf): Turn JPG, PNG, and WebP images into one PDF. Set the page size, orientation, margin, and order. - [PDF to Text](https://benchline.fabwaseem.com/t/pdf-to-text): Read the selectable text of a PDF, with a markdown heading when the type is larger. - [Rotate PDF](https://benchline.fabwaseem.com/t/pdf-rotate-organize): Reorder, rotate, or drop pages, then download the PDF. - [PDF to Image](https://benchline.fabwaseem.com/t/pdf-to-image): Render PDF pages to PNG or JPEG, then download one image or a ZIP. - [Protect PDF](https://benchline.fabwaseem.com/t/pdf-protect-unlock): Add an AES password, or unlock a PDF when you already know the password. - [Resume Builder](https://benchline.fabwaseem.com/t/resume-builder): Build a polished resume in the browser: profile, experience, education, and skills, exported as a clean PDF. - [PDF Signature](https://benchline.fabwaseem.com/t/pdf-signature): Sign a PDF in the browser. Draw or type your signature, place it on any page, and download the signed file. - [PDF Form Filler](https://benchline.fabwaseem.com/t/pdf-form-filler): Fill interactive PDF forms in the browser and export. ## Security & Crypto / Auth debugging - [JWT decoder](https://benchline.fabwaseem.com/t/jwt-decoder): Paste a JSON Web Token, read the claims, and verify the signature in the browser. - [TOTP authenticator](https://benchline.fabwaseem.com/t/totp-generator): Live 2FA codes for your accounts, with otpauth:// import and QR export. ## Security & Crypto / Crypto - [Hash generator](https://benchline.fabwaseem.com/t/hash-generator): MD5, SHA-1, SHA-256, and SHA-512 checksums for text or a file, with HMAC. - [UUID generator](https://benchline.fabwaseem.com/t/uuid-generator): Generate UUID v4 or v7 in bulk, and read the time stored in a v7 id. - [Password generator](https://benchline.fabwaseem.com/t/password-generator): Cryptographic passwords and passphrases, with an entropy strength meter. - [Chmod calculator](https://benchline.fabwaseem.com/t/chmod-calculator): Turn a permission grid into octal and symbolic chmod, and back. - [Bcrypt hash](https://benchline.fabwaseem.com/t/htpasswd-bcrypt): Hash and verify passwords with bcrypt or argon2id. Nothing is stored. - [Key pair](https://benchline.fabwaseem.com/t/rsa-keypair): Generate RSA, EC, and Ed25519 keys, and convert PEM and JWK. - [AES encryption](https://benchline.fabwaseem.com/t/aes-crypto): AES-GCM encrypt and decrypt in the browser, nothing uploaded. ## Security & Crypto / Headers - [CSP builder](https://benchline.fabwaseem.com/t/csp-generator): Build a Content-Security-Policy and a Next.js headers snippet. ## Design - [Color converter](https://benchline.fabwaseem.com/t/color-converter): Turn any color into HEX, RGB, HSL, OKLCH, and CMYK, and check the contrast ratio. - [QR code generator](https://benchline.fabwaseem.com/t/qr-code-generator): Make a static QR code for text, a URL, Wi-Fi, or a vCard. Set the colors and error correction, then download SVG or PNG. - [Favicon generator](https://benchline.fabwaseem.com/t/favicon-generator): Make the ICO, the PNG sizes, the manifest, and the HTML snippet from a picture or letters. ## Text / Diff - [Diff checker](https://benchline.fabwaseem.com/t/diff-checker): Compare two texts side by side or inline, and download a unified patch. ## Text / Writing - [Word counter](https://benchline.fabwaseem.com/t/word-counter): Words, graphemes, reading time, and the limits a title or post has to fit. - [Case converter](https://benchline.fabwaseem.com/t/case-converter): camelCase, snake_case, and title case, including AP and Chicago rules. ## Math & Finance / Time - [Unix timestamp converter](https://benchline.fabwaseem.com/t/unix-timestamp): Turn epoch seconds or milliseconds into a date, and a date in any time zone back into epoch time. - [Date difference calculator](https://benchline.fabwaseem.com/t/date-difference): Count the days, weeks, and business days between two dates. ## Math & Finance / Finance - [Loan EMI calculator](https://benchline.fabwaseem.com/t/loan-emi-calculator): A monthly installment and the full amortization table, rounded to the cent. - [Percentage calculator](https://benchline.fabwaseem.com/t/percentage-calculator): Percent of, percent change, reverse percent, and margin, with the formula shown. - [Invoice Generator](https://benchline.fabwaseem.com/t/invoice-generator): Build invoices and quotes in the browser. Add line items, tax and discounts, then download a clean PDF. - [Currency Converter](https://benchline.fabwaseem.com/t/currency-converter): Live exchange rates, historical trends, and multi-currency tables. ## Math & Finance / Units - [Unit converter](https://benchline.fabwaseem.com/t/unit-converter): Length, mass, temperature, and data sizes, with decimal and binary units kept apart. ## Network / URLs - [URL encoder and parser](https://benchline.fabwaseem.com/t/url-codec): Encode or decode a URL, then break the query string into parameters. ## Network / DNS - [DNS lookup](https://benchline.fabwaseem.com/t/dns-lookup): Query A, AAAA, MX, TXT, CNAME, and CAA over DNS-over-HTTPS. ## Network / IP & subnets - [CIDR calculator](https://benchline.fabwaseem.com/t/ip-cidr-calculator): Network, broadcast, host range, and membership for IPv4 and IPv6. ## Network / HTTP - [HTTP headers](https://benchline.fabwaseem.com/t/http-headers-checker): Follow redirects and grade the security headers on a public URL. - [HAR analyzer](https://benchline.fabwaseem.com/t/har-analyzer): Drop a HAR capture, see where the time went. - [cURL Converter](https://benchline.fabwaseem.com/t/curl-converter): Turn any curl command into fetch, Python, Go, PHP, or Rust. - [GraphQL Client](https://benchline.fabwaseem.com/t/graphql-client): Query any GraphQL endpoint with variables, headers, and history. - [WebSocket Tester](https://benchline.fabwaseem.com/t/websocket-tester): Connect to any ws/wss endpoint and inspect live frames. ## Network / TLS - [SSL checker](https://benchline.fabwaseem.com/t/ssl-checker): Expiry, names, and the chain for a certificate on port 443. ## Agent tools - `generate_llms_txt` — Render llms.txt and llms-full.txt from a site name, a summary, and a list of pages. It does not crawl. Grouping follows the page URLs. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/llms-txt-generator. - `score_ai_seo` — Fetch a public page plus its robots.txt, sitemap, and llms.txt, then score how ready it is for AI search crawlers. Use this when you have a live URL. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/ai-seo-checker. This call fetches a public URL. - `build_open_graph` — Render one of the Open Graph templates as a PNG and a Next.js opengraph-image.tsx file. Pass a template id from list_og_templates, the fields that template uses, colors, a size, and optional base64 images. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/og-image-generator. - `list_og_templates` — List Open Graph card templates with ids, names, categories, defaults, color presets, and field schemas. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/og-template-list. - `decode_jwt` — Decode a signed JSON Web Token into its header, payload, and registered claims. Dates are absolute ISO timestamps. The signature is not checked. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/jwt-decoder. - `check_robots_txt` — Fetch a public robots.txt and report whether the wildcard group blocks the site and whether Sitemap lines are absolute. Use this when you have a URL, not a pasted file. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/robots-txt-checker. This call fetches a public URL. - `inspect_meta_tags` — Fetch one public HTML page and report title, description, canonical, Open Graph, Twitter, and JSON-LD. Use this to see what a live URL advertises. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/meta-tags-inspector. This call fetches a public URL. - `build_json_ld` — Build schema.org JSON-LD for one type, plus a script tag and a list of missing fields. Use this when you already know the fields. It does not fetch a page. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/schema-generator. - `count_tokens` — Count tokens with the o200k or cl100k encoder and price the count against the published model table. Claude and Gemini rows are estimates, not those vendors' tokenizers. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/ai-token-counter. - `explain_cron` — Turn a cron expression into English, the next UTC run times, and snippets for crontab, GitHub Actions, Vercel, Kubernetes, and node-cron. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/cron-expression-builder. - `build_nextjs_dockerfile` — Generate a production Dockerfile, dockerignore, compose file, and next.config snippet for a Next.js app. Defaults match a pnpm standalone image. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/nextjs-dockerfile-generator. - `format_json` — Pretty-print or minify JSON. A number that does not fit in a JavaScript number keeps the digits you sent. Returns the formatted text when it is valid, or the line and column of each syntax error. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/json-formatter. - `convert_data_format` — Convert between JSON, YAML, TOML, and XML. Auto-detects the source. Numbers that do not fit in a JavaScript number keep their digits. Errors include a line and column. TOML refuses null and a non-table root. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/json-yaml-convert. - `convert_csv_json` — Convert CSV to JSON or JSON to CSV. Supports comma, tab, semicolon, and pipe delimiters, an optional header, type inference, and dotted flattening. Inferred numbers that do not fit in a JavaScript number keep their digits. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/csv-json-convert. - `diff_text` — Compare two texts by line, word, or character, or compare JSON so object key order does not matter. Returns an inline diff, side-by-side rows for line and JSON modes, and a unified patch. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/diff-checker. - `base64_codec` — Encode UTF-8 text as Base64, or decode Base64 and data URIs. URL-safe output uses - and _ and omits padding. Decode reports the sniffed media type and whether the bytes are UTF-8 text. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/base64-codec. - `convert_image` — Convert an image to JPEG, PNG, WebP, or AVIF. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the image as base64. HEIC is not decoded here. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/image-convert. This call fetches a public URL. - `compress_image` — Re-encode an image at a quality from 1 to 100, optionally capping the longest edge. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the image as base64. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/image-compress. This call fetches a public URL. - `resize_image` — Resize an image by pixels or percent. Fit is contain, cover, or stretch. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the image as base64. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/image-resize. This call fetches a public URL. - `convert_color` — Convert HEX, RGB, HSL, OKLCH, or CMYK into every format, name the nearest Tailwind token, and report the WCAG 2 contrast ratio against a background. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/color-converter. - `convert_unix_timestamp` — Convert epoch seconds, milliseconds, microseconds, or nanoseconds to ISO-8601 and RFC 2822 in an IANA time zone, or convert a calendar time back to epoch. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/unix-timestamp. - `date_difference` — Count calendar days, elapsed time, and business days between two dates. Business days skip weekends and any YYYY-MM-DD holidays you list. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/date-difference. - `hash_data` — Compute MD5, SHA-1, SHA-256, and SHA-512 for UTF-8 text or base64 bytes. Pass hmacKey for HMAC and expected to see which digest matches. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/hash-generator. - `generate_uuid` — Generate UUID version 4 or version 7 from cryptographic randomness, up to 10,000 at once, or inspect the version, variant, and v7 timestamp. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/uuid-generator. - `url_codec` — Percent-encode or decode text, or parse a URL into its host, path, hash, and query parameters. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/url-codec. - `generate_password` — Generate cryptographic passwords or EFF-wordlist passphrases and report the entropy in bits. Randomness comes from the platform CSPRNG. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/password-generator. - `explain_chmod` — Convert an octal or symbolic file mode into octal, symbolic notation, and a chmod command, including setuid, setgid, and the sticky bit. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/chmod-calculator. - `merge_pdf` — Combine PDF files. Each file is base64 or a public URL, and can keep a page range such as 1-3,5. Private addresses are refused. Returns one PDF as base64. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-merge. This call fetches a public URL. - `split_pdf` — Extract a page range into one PDF, or split into single pages or chunks of N. Send base64 or a public URL. Private addresses are refused. Returns PDF base64 and a ZIP when there are several files. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-split. This call fetches a public URL. - `compress_pdf` — Recompress embedded images in a PDF. Presets are light, medium, and strong. Send base64 or a public URL. Private addresses are refused. An optional target size tries harder. Returns the PDF and the sizes before and after. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-compress. This call fetches a public URL. - `images_to_pdf` — Turn images, sent as base64 or public URLs in order, into one PDF. JPEG and PNG are embedded directly. Other formats are converted to PNG first. Page size is A4, Letter, or fit. Private addresses are refused. Returns the PDF as base64. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/image-to-pdf. This call fetches a public URL. - `generate_qr_code` — Build a static QR code for text, a URL, Wi-Fi, or a vCard. Returns the payload, an SVG string, and a PNG as base64. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/qr-code-generator. - `extract_pdf_text` — Read the selectable text layer of a PDF. Returns per-page text, markdown-style headings, and an o200k token count. Does not OCR scans. Send base64 or a public URL. Private addresses are refused. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-to-text. This call fetches a public URL. - `organize_pdf` — Reorder, rotate, or drop PDF pages. Each entry names a 1-based source page and a rotation of 0, 90, 180, or 270. The same page may be listed twice. Send base64 or a public URL. Private addresses are refused. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-rotate-organize. This call fetches a public URL. - `render_pdf_pages` — Render PDF pages to PNG or JPEG. DPI is 72 to 216. A page range such as 1-3,5 is optional. At most 24 pages and 25 MB of images. Send base64 or a public URL. Private addresses are refused. Returns image base64 and a ZIP when there is more than one page. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-to-image. This call fetches a public URL. - `protect_pdf` — Protect a PDF with AES-256, or unlock one when the password is known. action is protect or unlock. password is the user password. ownerPassword is optional. permissions cover printing, copying, modifying, annotating, filling forms, accessibility, and assembly. Send base64 or a public URL. Private addresses are refused. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-protect-unlock. This call fetches a public URL. - `convert_markdown_html` — Convert GitHub-flavored Markdown to HTML, or HTML to Markdown. to is html or markdown. sanitize strips scripts from the text output. The conversion does not fetch a URL. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/markdown-html. - `fetch_page_markdown` — Fetch a public HTML page and return the article as Markdown, plus a title, excerpt, and o200k token count. Private and local addresses are refused. The response is capped at 800 KB. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/html-to-markdown-url. This call fetches a public URL. - `read_barcode` — Read QR codes and barcodes from an image. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns each code's text and format. An image with no code returns an empty list. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/qr-code-reader. This call fetches a public URL. - `optimize_svg` — Minify an SVG with SVGO. Send markup or a file as base64 or a public URL. Private addresses are refused and the file is capped at 10 MB. The viewBox is kept unless removeViewBox is true. Returns the optimized markup and the byte counts. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/svg-optimizer. This call fetches a public URL. - `read_exif` — Read EXIF tags, including GPS, or strip them. action is read or strip. scope is all or gps. gps-only removal keeps the other JPEG tags. Other formats are re-encoded, which drops every tag. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/exif-viewer-remover. This call fetches a public URL. - `crop_image` — Crop an image to a pixel box or a 0 to 1 ratio box. circle cuts a round mask. format is png, jpeg, or webp. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the image as base64. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/image-crop. This call fetches a public URL. - `generate_favicon` — Build a favicon pack from an image or up to three letters. The ZIP contains favicon.ico, PNG sizes, a web manifest, an HTML snippet, and a Next.js metadata snippet. Letters are drawn with a built-in bitmap font so the result does not depend on a system font. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/favicon-generator. This call fetches a public URL. - `read_image_text` — Extract text from an image with Tesseract. language defaults to eng. Other codes in the list are fetched when first used. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the text and a confidence from 0 to 100. An image with no text returns an empty string. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/ocr-image-to-text. This call fetches a public URL. - `remove_background` — Remove a solid or near-solid background by flood-filling from the border. color is an optional #rrggbb. The portrait model runs in the browser, not in this handler: MODNet is Apache-2.0, RMBG-1.4 is non-commercial, and the ONNX runtime is too large for the serverless function. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns a PNG as base64. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/background-remover. This call fetches a public URL. - `count_text` — Count words, code points, graphemes, sentences, and paragraphs, and compare the length with SEO and social limits. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/word-counter. - `convert_case` — Convert text to camelCase, snake_case, kebab-case, CONSTANT_CASE, and AP or Chicago title case. Returns every style unless one is requested. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/case-converter. - `generate_fake_data` — Generate seeded lorem ipsum, or fake JSON, CSV, or SQL rows from a list of field types. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/lorem-ipsum. - `test_regex` — Run a JavaScript regular expression against a sample and return every match, capture group, a short explanation, and an optional replacement. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/regex-tester. - `format_sql` — Format SQL for PostgreSQL, MySQL, BigQuery, Snowflake, and other dialects. Choose keyword case and an indent of 2 or 4 spaces. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/sql-formatter. - `validate_json_schema` — Infer a JSON Schema from a sample, or validate JSON against a schema. Returns error paths plus TypeScript and Zod generated from the sample. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/json-schema-validate. - `calculate_emi` — Calculate a reducing-balance loan installment and its amortization schedule. Money is rounded half up to cents. An optional extra monthly payment reduces principal. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/loan-emi-calculator. - `calculate_percentage` — Calculate percent of a value, what percent one number is of another, percent change, the reverse, an increase or decrease, and margin versus markup. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/percentage-calculator. - `convert_units` — Convert length, mass, volume, temperature, area, speed, time, and data size. Decimal bytes (kB, MB) and binary bytes (KiB, MiB) are separate categories. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/unit-converter. - `lookup_dns` — Query A, AAAA, MX, TXT, CNAME, and CAA for a public hostname over DNS-over-HTTPS, and parse SPF and DMARC. Private names are refused. The resolver is Cloudflare or Google. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/dns-lookup. This call fetches a public URL. - `calculate_cidr` — Return the network, broadcast, host range, and host count for an IPv4 or IPv6 CIDR. Optionally test whether an address is inside it, split it, or merge it with other CIDRs. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/ip-cidr-calculator. - `hash_password` — Hash a password with bcrypt or argon2id, or verify a hash. Returns an htpasswd line when a username is set. The password is not stored or logged. The page in the browser never sends the password; this call only hashes the arguments you send. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/htpasswd-bcrypt. - `generate_keypair` — Generate an RSA, EC, or Ed25519 key pair as PEM and JWK, or convert between PEM and JWK. The private key is returned in the result and is not stored. The page in the browser generates keys locally and does not send them. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/rsa-keypair. - `build_csp` — Build a Content-Security-Policy from directives, or lint an existing policy. Returns the header line, a Next.js headers() snippet, and warnings for unsafe sources. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/csp-generator. - `validate_sitemap` — Validate sitemap XML or a public sitemap URL, including a sitemap index and a sample of HTTP statuses. Or generate a urlset from a list of URLs. Private addresses are refused and responses are size-capped. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/sitemap-validator. This call fetches a public URL. - `check_http_headers` — Fetch a public URL, follow redirects, and grade HSTS, Content-Security-Policy, framing, nosniff, and Referrer-Policy. Private addresses are refused. The body is not stored. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/http-headers-checker. This call fetches a public URL. - `check_ssl` — Connect to a public host on port 443 and report certificate expiry, subject alternative names, protocol, and chain. Private addresses are refused. The handshake times out after 8 seconds. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/ssl-checker. This call fetches a public URL. - `generate_totp` — Compute RFC 4226/6238 one-time passcodes from a base32 secret. Supports 6/8 digits, SHA1/SHA256/SHA512, and custom periods. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/totp-generator. - `query_jsonpath` — Evaluate a JSONPath Plus query against a JSON document and return the matches with their paths. A number that does not fit in a JavaScript number is returned as its original digits, with a precision warning. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/jsonpath-tester. - `calculate_programmer` — Evaluate integer expressions with C-like precedence (hex/octal/binary literals, bitwise ops, shifts) and report base conversions plus signed/unsigned interpretations. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/programmer-calculator. - `aes_crypt` — AES-256-GCM encryption with PBKDF2-SHA256 key derivation. Encrypt returns a base64 bundle (salt, IV, ciphertext); decrypt reverses it. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/aes-crypto. - `analyze_har` — Parse a HAR (HTTP Archive) capture and summarize it: request counts, status distribution, slowest and largest requests, top hosts, and per-request timings. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/har-analyzer. - `convert_json_to_types` — Infer types from a JSON document and generate TypeScript interfaces, Zod schemas, Python Pydantic models or dataclasses, and Go structs. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/json-to-types. - `minify_code` — Minify source code with Terser (JS), csso (CSS), or a structural HTML pass and report before/after byte counts. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/code-minifier. - `convert_curl` — Parse a curl command and generate equivalent JavaScript fetch, Python requests, Go, PHP, or Rust code. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/curl-converter. - `execute_graphql` — Send a GraphQL query with optional variables and headers to a public http or https endpoint on port 80 or 443 and return the response data or errors. Local, private, and internal addresses are refused. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/graphql-client. This call fetches a public URL. - `validate_websocket_url` — Validate and parse a ws:// or wss:// URL into its components, and optionally decode a WebSocket close code. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/websocket-tester. - `generate_resume` — Build a resume PDF from profile, experience, education, and skills. A name plus at least one experience, education, or skills entry is required. Choose the clean, modern, or compact template. Returns the A4 PDF as base64. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/resume-builder. - `generate_invoice` — Build an invoice or quote PDF from company and client details, line items with quantities and rates, a tax rate, and an optional percent or flat discount. All money is computed in integer cents, so there are no float rounding errors. Returns the PDF as base64 plus the total. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/invoice-generator. - `sign_pdf` — Stamp a PNG signature image onto one or more PDF pages at given positions (fractions of the page, x and y measured from the top-left, width as a fraction of page width). The signature keeps its aspect ratio. Returns the signed PDF as base64. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-signature. This call fetches a public URL. - `resize_social_image` — Crop and resize an image to an exact social media preset: instagram-post (1080x1080), instagram-portrait (1080x1350), instagram-story (1080x1920), youtube-thumbnail (1280x720), x-post (1200x675), x-header (1500x500), linkedin-post (1200x627), or facebook-post (1200x630). The cover crop keeps the center subject. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the image as base64 PNG. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/social-image-resizer. This call fetches a public URL. - `trim_audio` — Trim a WAV audio file to a time range with optional fade in and out, returning a 16-bit PCM WAV as base64. Only WAV is accepted; the web UI handles MP3/OGG/M4A. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/audio-trimmer. This call fetches a public URL. - `convert_currency` — Convert money between ISO 4217 currencies using live exchange rates from the Frankfurter API, fetched through the SSRF-safe outbound guard. Supports historical dates. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/currency-converter. This call fetches a public URL. - `generate_meme` — Render a classic top/bottom-caption meme as a PNG. Give it an image (base64, data URI, or public URL) or pick a gradient style, and it returns captioned meme artwork. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/meme-generator. This call fetches a public URL. - `zip_files` — Create a ZIP archive from files or list and extract the contents of a ZIP archive. Everything is handled in memory; no files are stored. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/zip-tools. This call fetches a public URL. - `make_collage` — Arrange up to 9 photos into a collage layout (duo, trio, focus, quad, six, nine) with a gap and background color, and get back a square PNG. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/photo-collage. This call fetches a public URL. - `fill_pdf_form` — Fill an interactive PDF form's text fields, checkboxes, dropdowns, and radios by field name, with an option to flatten the result. Pass inspectOnly to list the fields first. HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-form-filler. This call fetches a public URL. ## Optional - [Explore](https://benchline.fabwaseem.com/explore): every tool, with search, category, and tag filters. - [Categories](https://benchline.fabwaseem.com/categories): the category index, with hue, description, and the top tools. - [About](https://benchline.fabwaseem.com/about): who built the bench and what stays in the browser. - [MCP](https://benchline.fabwaseem.com/mcp): Claude Desktop, Cursor, and VS Code setup. Browser GET returns the docs; clients POST JSON-RPC. - [AI access](https://benchline.fabwaseem.com/ai): the tool list, Cursor, Claude, and the HTTP API. # Full tool notes ## Generate llms.txt MCP name: `generate_llms_txt` Page: https://benchline.fabwaseem.com/t/llms-txt-generator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/llms-txt-generator with a JSON body matching the tool input. Render llms.txt and llms-full.txt from a site name, a summary, and a list of pages. It does not crawl. Grouping follows the page URLs. Generate a spec-compliant llms.txt and an optional llms-full.txt from a public sitemap, with an editable preview. This tool does not fetch. It runs on the arguments you send. ## Score a page for AI search MCP name: `score_ai_seo` Page: https://benchline.fabwaseem.com/t/ai-seo-checker HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/ai-seo-checker with a JSON body matching the tool input. Fetch a public page plus its robots.txt, sitemap, and llms.txt, then score how ready it is for AI search crawlers. Use this when you have a live URL. Score a public URL for AI crawlers, llms.txt, sitemap, JSON-LD, metadata, headings, and answer-first content. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Build an Open Graph card MCP name: `build_open_graph` Page: https://benchline.fabwaseem.com/t/og-image-generator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/og-image-generator with a JSON body matching the tool input. Render one of the Open Graph templates as a PNG and a Next.js opengraph-image.tsx file. Pass a template id from list_og_templates, the fields that template uses, colors, a size, and optional base64 images. Design an Open Graph image in the browser. Choose from 18 templates, set the fields that template uses, download a PNG, or copy a Next.js opengraph-image.tsx file. This tool does not fetch. It runs on the arguments you send. ## List Open Graph templates MCP name: `list_og_templates` Page: https://benchline.fabwaseem.com/t/og-template-list HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/og-template-list with a JSON body matching the tool input. List Open Graph card templates with ids, names, categories, defaults, color presets, and field schemas. List every Open Graph card template, with its id, category, fields, and color presets. Copy an id into the OG image generator or pass it to list_og_templates. This tool does not fetch. It runs on the arguments you send. ## Decode a JWT MCP name: `decode_jwt` Page: https://benchline.fabwaseem.com/t/jwt-decoder HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/jwt-decoder with a JSON body matching the tool input. Decode a signed JSON Web Token into its header, payload, and registered claims. Dates are absolute ISO timestamps. The signature is not checked. Decode a JWT and verify HS, RS, PS, ES, and EdDSA signatures in the browser. The token and keys are not uploaded. This tool does not fetch. It runs on the arguments you send. ## Check robots.txt MCP name: `check_robots_txt` Page: https://benchline.fabwaseem.com/t/robots-txt-checker HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/robots-txt-checker with a JSON body matching the tool input. Fetch a public robots.txt and report whether the wildcard group blocks the site and whether Sitemap lines are absolute. Use this when you have a URL, not a pasted file. Fetch a public robots.txt, list Allow and Disallow rules and sitemap links, and flag common mistakes. Private addresses are blocked. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Inspect meta tags MCP name: `inspect_meta_tags` Page: https://benchline.fabwaseem.com/t/meta-tags-inspector HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/meta-tags-inspector with a JSON body matching the tool input. Fetch one public HTML page and report title, description, canonical, Open Graph, Twitter, and JSON-LD. Use this to see what a live URL advertises. Inspect a public page for title, description, canonical, robots, Open Graph, Twitter cards, and JSON-LD types. A checklist marks what social previews and AI search need. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Build JSON-LD MCP name: `build_json_ld` Page: https://benchline.fabwaseem.com/t/schema-generator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/schema-generator with a JSON body matching the tool input. Build schema.org JSON-LD for one type, plus a script tag and a list of missing fields. Use this when you already know the fields. It does not fetch a page. Free JSON-LD schema markup generator. Build Article, BlogPosting, FAQPage, HowTo, Product, Organization, Person, LocalBusiness, BreadcrumbList, SoftwareApplication, WebSite, and Event schema, then copy the script tag or a Next.js component. This tool does not fetch. It runs on the arguments you send. ## Count tokens MCP name: `count_tokens` Page: https://benchline.fabwaseem.com/t/ai-token-counter HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/ai-token-counter with a JSON body matching the tool input. Count tokens with the o200k or cl100k encoder and price the count against the published model table. Claude and Gemini rows are estimates, not those vendors' tokenizers. Free LLM token counter and API cost calculator. Paste text to count tokens with OpenAI's tokenizers and estimate input and output cost across GPT, Claude, Gemini, and other models. This tool does not fetch. It runs on the arguments you send. ## Explain a cron expression MCP name: `explain_cron` Page: https://benchline.fabwaseem.com/t/cron-expression-builder HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/cron-expression-builder with a JSON body matching the tool input. Turn a cron expression into English, the next UTC run times, and snippets for crontab, GitHub Actions, Vercel, Kubernetes, and node-cron. Free cron expression generator and explainer. Build a schedule visually or paste one to translate it into plain English, validate it, and preview the next 10 run times in any timezone. Supports standard 5-field cron, seconds, Quartz, and macros. This tool does not fetch. It runs on the arguments you send. ## Build a Next.js Dockerfile MCP name: `build_nextjs_dockerfile` Page: https://benchline.fabwaseem.com/t/nextjs-dockerfile-generator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/nextjs-dockerfile-generator with a JSON body matching the tool input. Generate a production Dockerfile, dockerignore, compose file, and next.config snippet for a Next.js app. Defaults match a pnpm standalone image. Free Next.js Dockerfile generator. Pick your package manager, Node version, standalone output, Prisma, and healthcheck, and get a small multi-stage Dockerfile with .dockerignore, docker-compose.yml, and next.config settings. This tool does not fetch. It runs on the arguments you send. ## Format and validate JSON MCP name: `format_json` Page: https://benchline.fabwaseem.com/t/json-formatter HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/json-formatter with a JSON body matching the tool input. Pretty-print or minify JSON. A number that does not fit in a JavaScript number keeps the digits you sent. Returns the formatted text when it is valid, or the line and column of each syntax error. Free JSON formatter and JSON validator that runs in the browser. Choose an indent of 2, 4, or a tab, sort object keys, minify, and read a tree of the value. Invalid JSON reports the line, the column, and the line of source. This tool does not fetch. It runs on the arguments you send. ## Convert JSON, YAML, TOML, or XML MCP name: `convert_data_format` Page: https://benchline.fabwaseem.com/t/json-yaml-convert HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/json-yaml-convert with a JSON body matching the tool input. Convert between JSON, YAML, TOML, and XML. Auto-detects the source. Numbers that do not fit in a JavaScript number keep their digits. Errors include a line and column. TOML refuses null and a non-table root. Free converter for JSON to YAML, YAML to JSON, TOML, and XML to JSON. The source format can be detected automatically. Errors include a line and column. Conversion stays in the browser. This tool does not fetch. It runs on the arguments you send. ## Convert CSV and JSON MCP name: `convert_csv_json` Page: https://benchline.fabwaseem.com/t/csv-json-convert HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/csv-json-convert with a JSON body matching the tool input. Convert CSV to JSON or JSON to CSV. Supports comma, tab, semicolon, and pipe delimiters, an optional header, type inference, and dotted flattening. Inferred numbers that do not fit in a JavaScript number keep their digits. Free CSV to JSON and JSON to CSV converter. Pick a comma, tab, semicolon, or pipe, or let the first row decide. Keep or drop the header, infer booleans and numbers, and flatten nested JSON into dotted columns. It runs in the browser. This tool does not fetch. It runs on the arguments you send. ## Diff two texts MCP name: `diff_text` Page: https://benchline.fabwaseem.com/t/diff-checker HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/diff-checker with a JSON body matching the tool input. Compare two texts by line, word, or character, or compare JSON so object key order does not matter. Returns an inline diff, side-by-side rows for line and JSON modes, and a unified patch. Free diff checker for text and JSON. Compare by line, word, or character, ignore whitespace, or diff JSON so key order does not matter. The result is a side-by-side view, an inline view, and a unified patch. It runs in the browser. This tool does not fetch. It runs on the arguments you send. ## Encode or decode Base64 MCP name: `base64_codec` Page: https://benchline.fabwaseem.com/t/base64-codec HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/base64-codec with a JSON body matching the tool input. Encode UTF-8 text as Base64, or decode Base64 and data URIs. URL-safe output uses - and _ and omits padding. Decode reports the sniffed media type and whether the bytes are UTF-8 text. Free Base64 encode and Base64 decode tool for text and files. Turn on URL-safe output, wrap a file as a data URI, or decode a data URI back to text or a download. The file never leaves the browser. This tool does not fetch. It runs on the arguments you send. ## Convert an image MCP name: `convert_image` Page: https://benchline.fabwaseem.com/t/image-convert HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/image-convert with a JSON body matching the tool input. Convert an image to JPEG, PNG, WebP, or AVIF. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the image as base64. HEIC is not decoded here. Free image format converter for HEIC to JPG, WebP to PNG, PNG to JPG, and AVIF. Drop a batch, pick a target, and download the files or a ZIP. Decoding and encoding run on this device, so the pictures never leave the browser. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Compress an image MCP name: `compress_image` Page: https://benchline.fabwaseem.com/t/image-compress HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/image-compress with a JSON body matching the tool input. Re-encode an image at a quality from 1 to 100, optionally capping the longest edge. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the image as base64. Free image compressor. Set a quality level, optionally cap the long edge, and compress a batch of JPEG, PNG, WebP, or AVIF files. You see the size before and after, the savings, and you can download a ZIP. The work stays on this device. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Resize an image MCP name: `resize_image` Page: https://benchline.fabwaseem.com/t/image-resize HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/image-resize with a JSON body matching the tool input. Resize an image by pixels or percent. Fit is contain, cover, or stretch. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the image as base64. Free image resizer. Set a width, a height, or a percent, lock the aspect ratio, and fit a batch with contain, cover, or stretch. Presets cover Instagram, Stories, Open Graph, and HD. Resizing runs in the browser, so the files stay on the device. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Convert a color and check contrast MCP name: `convert_color` Page: https://benchline.fabwaseem.com/t/color-converter HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/color-converter with a JSON body matching the tool input. Convert HEX, RGB, HSL, OKLCH, or CMYK into every format, name the nearest Tailwind token, and report the WCAG 2 contrast ratio against a background. Free color converter and contrast checker. Paste HEX, RGB, HSL, OKLCH, CMYK, or a CSS color name and read every format back. The contrast ratio uses WCAG 2, with AA and AAA flags for normal and large text, plus the nearest Tailwind token. This tool does not fetch. It runs on the arguments you send. ## Convert a unix timestamp MCP name: `convert_unix_timestamp` Page: https://benchline.fabwaseem.com/t/unix-timestamp HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/unix-timestamp with a JSON body matching the tool input. Convert epoch seconds, milliseconds, microseconds, or nanoseconds to ISO-8601 and RFC 2822 in an IANA time zone, or convert a calendar time back to epoch. Free epoch converter for unix timestamps. Switch between seconds, milliseconds, microseconds, and nanoseconds, read ISO-8601 and RFC 2822 dates, and convert both ways across IANA time zones. Runs in the browser. This tool does not fetch. It runs on the arguments you send. ## Difference between two dates MCP name: `date_difference` Page: https://benchline.fabwaseem.com/t/date-difference HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/date-difference with a JSON body matching the tool input. Count calendar days, elapsed time, and business days between two dates. Business days skip weekends and any YYYY-MM-DD holidays you list. Free date calculator for the exact days between two dates. See the calendar span, elapsed time, weeks, and business days with weekends and your own holiday list excluded. Runs in the browser. This tool does not fetch. It runs on the arguments you send. ## Hash text or bytes MCP name: `hash_data` Page: https://benchline.fabwaseem.com/t/hash-generator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/hash-generator with a JSON body matching the tool input. Compute MD5, SHA-1, SHA-256, and SHA-512 for UTF-8 text or base64 bytes. Pass hmacKey for HMAC and expected to see which digest matches. Free SHA-256 and MD5 hash generator. Checksum text or a file with MD5, SHA-1, SHA-256, and SHA-512, copy hex or base64, compare an expected digest, and compute HMAC. The bytes stay in the browser. This tool does not fetch. It runs on the arguments you send. ## Generate or inspect a UUID MCP name: `generate_uuid` Page: https://benchline.fabwaseem.com/t/uuid-generator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/uuid-generator with a JSON body matching the tool input. Generate UUID version 4 or version 7 from cryptographic randomness, up to 10,000 at once, or inspect the version, variant, and v7 timestamp. Free UUID and GUID generator for version 4 and version 7. Create one id or a bulk list from cryptographic randomness, then inspect a UUID to see its version, variant, and v7 timestamp. This tool does not fetch. It runs on the arguments you send. ## Encode, decode, or parse a URL MCP name: `url_codec` Page: https://benchline.fabwaseem.com/t/url-codec HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/url-codec with a JSON body matching the tool input. Percent-encode or decode text, or parse a URL into its host, path, hash, and query parameters. Free URL encoder and decoder. Percent-encode a component or a whole URL, decode it again, and parse a URL into its host, path, and query parameters. Edit the query and copy the rebuilt URL. Runs in the browser. This tool does not fetch. It runs on the arguments you send. ## Generate a password or passphrase MCP name: `generate_password` Page: https://benchline.fabwaseem.com/t/password-generator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/password-generator with a JSON body matching the tool input. Generate cryptographic passwords or EFF-wordlist passphrases and report the entropy in bits. Randomness comes from the platform CSPRNG. Free strong password generator. Build a password with crypto.getRandomValues, choose the length and character sets, skip ambiguous characters, or make a passphrase. The strength meter shows the entropy in bits. This tool does not fetch. It runs on the arguments you send. ## Explain a chmod mode MCP name: `explain_chmod` Page: https://benchline.fabwaseem.com/t/chmod-calculator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/chmod-calculator with a JSON body matching the tool input. Convert an octal or symbolic file mode into octal, symbolic notation, and a chmod command, including setuid, setgid, and the sticky bit. Free chmod calculator. Check read, write, and execute for owner, group, and others, including setuid, setgid, and the sticky bit. See the octal mode, the symbolic mode, and the chmod command. This tool does not fetch. It runs on the arguments you send. ## Merge PDF files MCP name: `merge_pdf` Page: https://benchline.fabwaseem.com/t/pdf-merge HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-merge with a JSON body matching the tool input. Combine PDF files. Each file is base64 or a public URL, and can keep a page range such as 1-3,5. Private addresses are refused. Returns one PDF as base64. Free PDF merger. Combine PDFs in the browser, drag them into order, and keep a page range such as 1-3,5 from each file. The merge runs on this device. The files are not uploaded. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Split a PDF MCP name: `split_pdf` Page: https://benchline.fabwaseem.com/t/pdf-split HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-split with a JSON body matching the tool input. Extract a page range into one PDF, or split into single pages or chunks of N. Send base64 or a public URL. Private addresses are refused. Returns PDF base64 and a ZIP when there are several files. Free split PDF tool. Extract pages with a range such as 1-3,5, save every page as its own PDF, or split every N pages. The work runs in the browser and the file is not uploaded. Several files download as a ZIP. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Compress a PDF MCP name: `compress_pdf` Page: https://benchline.fabwaseem.com/t/pdf-compress HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-compress with a JSON body matching the tool input. Recompress embedded images in a PDF. Presets are light, medium, and strong. Send base64 or a public URL. Private addresses are refused. An optional target size tries harder. Returns the PDF and the sizes before and after. Free PDF compressor. Shrink a PDF for an upload limit without sending it anywhere. Light, medium, and strong presets recompress embedded images and clear document info. Text stays selectable. A target of 100 KB, 200 KB, or 500 KB tries harder until the file fits or the smallest result is reached. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Build a PDF from images MCP name: `images_to_pdf` Page: https://benchline.fabwaseem.com/t/image-to-pdf HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/image-to-pdf with a JSON body matching the tool input. Turn images, sent as base64 or public URLs in order, into one PDF. JPEG and PNG are embedded directly. Other formats are converted to PNG first. Page size is A4, Letter, or fit. Private addresses are refused. Returns the PDF as base64. Free JPG to PDF and image to PDF converter. Drop JPG, PNG, or WebP pictures, put them in order, and choose A4, Letter, or a page that fits the picture. Portrait, landscape, or automatic orientation, with a margin. The PDF is built in the browser and the images are not uploaded. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Generate a QR code MCP name: `generate_qr_code` Page: https://benchline.fabwaseem.com/t/qr-code-generator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/qr-code-generator with a JSON body matching the tool input. Build a static QR code for text, a URL, Wi-Fi, or a vCard. Returns the payload, an SVG string, and a PNG as base64. Free QR code generator for a URL, plain text, a Wi-Fi network, or a vCard. Pick the colors and the error-correction level, then download SVG and PNG. The code is static: it does not track scans, and it is drawn in this browser. This tool does not fetch. It runs on the arguments you send. ## Extract PDF text MCP name: `extract_pdf_text` Page: https://benchline.fabwaseem.com/t/pdf-to-text HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-to-text with a JSON body matching the tool input. Read the selectable text layer of a PDF. Returns per-page text, markdown-style headings, and an o200k token count. Does not OCR scans. Send base64 or a public URL. Private addresses are refused. Free PDF to text tool. Pull the text layer from each page, keep a rough markdown heading, and count tokens. Scanned pages without a text layer are left blank. This tool does not OCR. The file stays in the browser. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Organize PDF pages MCP name: `organize_pdf` Page: https://benchline.fabwaseem.com/t/pdf-rotate-organize HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-rotate-organize with a JSON body matching the tool input. Reorder, rotate, or drop PDF pages. Each entry names a 1-based source page and a rotation of 0, 90, 180, or 270. The same page may be listed twice. Send base64 or a public URL. Private addresses are refused. Free rotate and organize PDF tool. Drag pages into a new order, turn a page by 90 degrees, or delete a page. Thumbnails are drawn in the browser. The file is not uploaded. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Render PDF pages MCP name: `render_pdf_pages` Page: https://benchline.fabwaseem.com/t/pdf-to-image HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-to-image with a JSON body matching the tool input. Render PDF pages to PNG or JPEG. DPI is 72 to 216. A page range such as 1-3,5 is optional. At most 24 pages and 25 MB of images. Send base64 or a public URL. Private addresses are refused. Returns image base64 and a ZIP when there is more than one page. Free PDF to image tool. Pick PNG or JPEG, a DPI from 72 to 216, and a page range. One page downloads as an image. Several pages download as a ZIP. The render runs in this browser. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Protect or unlock a PDF MCP name: `protect_pdf` Page: https://benchline.fabwaseem.com/t/pdf-protect-unlock HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-protect-unlock with a JSON body matching the tool input. Protect a PDF with AES-256, or unlock one when the password is known. action is protect or unlock. password is the user password. ownerPassword is optional. permissions cover printing, copying, modifying, annotating, filling forms, accessibility, and assembly. Send base64 or a public URL. Private addresses are refused. Free protect and unlock PDF tool. Set a user password and optional owner password, and choose print, copy, and edit permissions. Unlock writes a copy that opens without the password. The password has to be one you know. The file stays in this browser. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Convert Markdown and HTML MCP name: `convert_markdown_html` Page: https://benchline.fabwaseem.com/t/markdown-html HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/markdown-html with a JSON body matching the tool input. Convert GitHub-flavored Markdown to HTML, or HTML to Markdown. to is html or markdown. sanitize strips scripts from the text output. The conversion does not fetch a URL. Free Markdown and HTML converter. GitHub-flavored Markdown in, HTML out, or the other way with Turndown. A sanitize switch strips scripts from the text output. The preview is always sanitized. Nothing is uploaded. This tool does not fetch. It runs on the arguments you send. ## Fetch a page as Markdown MCP name: `fetch_page_markdown` Page: https://benchline.fabwaseem.com/t/html-to-markdown-url HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/html-to-markdown-url with a JSON body matching the tool input. Fetch a public HTML page and return the article as Markdown, plus a title, excerpt, and o200k token count. Private and local addresses are refused. The response is capped at 800 KB. Free HTML to Markdown tool for a public URL. The page is fetched on the server, private addresses are refused, and Readability keeps the article. Navigation and scripts are stripped. The result includes a token count. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Read a QR code or barcode MCP name: `read_barcode` Page: https://benchline.fabwaseem.com/t/qr-code-reader HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/qr-code-reader with a JSON body matching the tool input. Read QR codes and barcodes from an image. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns each code's text and format. An image with no code returns an empty list. Free QR and barcode reader. Drop an image, paste one, or scan with the camera. Several codes in one picture are listed with their format. Decoding runs in this browser, so the photo stays on the device. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Optimize an SVG MCP name: `optimize_svg` Page: https://benchline.fabwaseem.com/t/svg-optimizer HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/svg-optimizer with a JSON body matching the tool input. Minify an SVG with SVGO. Send markup or a file as base64 or a public URL. Private addresses are refused and the file is capped at 10 MB. The viewBox is kept unless removeViewBox is true. Returns the optimized markup and the byte counts. Free SVG optimizer. SVGO runs in this browser: comments, metadata, and extra precision come out, and you can turn each pass off. The viewBox stays unless you remove it. The file is not uploaded. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Read or strip photo metadata MCP name: `read_exif` Page: https://benchline.fabwaseem.com/t/exif-viewer-remover HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/exif-viewer-remover with a JSON body matching the tool input. Read EXIF tags, including GPS, or strip them. action is read or strip. scope is all or gps. gps-only removal keeps the other JPEG tags. Other formats are re-encoded, which drops every tag. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Free EXIF viewer and metadata remover. See the camera, the time, and the GPS coordinates, then download a copy with every tag removed or with only the GPS block taken out of a JPEG. Reading and stripping run in this browser. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Crop an image MCP name: `crop_image` Page: https://benchline.fabwaseem.com/t/image-crop HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/image-crop with a JSON body matching the tool input. Crop an image to a pixel box or a 0 to 1 ratio box. circle cuts a round mask. format is png, jpeg, or webp. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the image as base64. Free image cropper. Drag the frame, lock an aspect such as 1:1, 4:5, 16:9, or Open Graph, and export JPG, PNG, or WebP. A circle crop keeps a round mask. Cropping runs in this browser. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Generate a favicon pack MCP name: `generate_favicon` Page: https://benchline.fabwaseem.com/t/favicon-generator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/favicon-generator with a JSON body matching the tool input. Build a favicon pack from an image or up to three letters. The ZIP contains favicon.ico, PNG sizes, a web manifest, an HTML snippet, and a Next.js metadata snippet. Letters are drawn with a built-in bitmap font so the result does not depend on a system font. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Free favicon generator. Start from an image or up to three letters, then download a ZIP with favicon.ico, the PNG sizes, a web manifest, an HTML snippet, and a Next.js metadata snippet. The pack is built in this browser. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Read text from an image MCP name: `read_image_text` Page: https://benchline.fabwaseem.com/t/ocr-image-to-text HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/ocr-image-to-text with a JSON body matching the tool input. Extract text from an image with Tesseract. language defaults to eng. Other codes in the list are fetched when first used. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the text and a confidence from 0 to 100. An image with no text returns an empty string. Free image to text. Tesseract reads the picture in this browser after a one-time download of the language data. Pick a language, then copy or download the text. A progress line shows the download and the recognition. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Remove a solid image background MCP name: `remove_background` Page: https://benchline.fabwaseem.com/t/background-remover HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/background-remover with a JSON body matching the tool input. Remove a solid or near-solid background by flood-filling from the border. color is an optional #rrggbb. The portrait model runs in the browser, not in this handler: MODNet is Apache-2.0, RMBG-1.4 is non-commercial, and the ONNX runtime is too large for the serverless function. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns a PNG as base64. Free background remover. A portrait uses MODNet, an Apache-2.0 matting model that downloads once and runs in this browser, with a progress line while it loads. A solid backdrop can be cleared instantly by sampling the corners. RMBG-1.4 is not used because its license is non-commercial. The picture is not uploaded. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Count words and characters MCP name: `count_text` Page: https://benchline.fabwaseem.com/t/word-counter HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/word-counter with a JSON body matching the tool input. Count words, code points, graphemes, sentences, and paragraphs, and compare the length with SEO and social limits. Free word counter and character counter. Counts words with Intl.Segmenter, code points, graphemes, sentences, and paragraphs, then checks SEO title, meta description, X, SMS, Bluesky, and Instagram limits. This tool does not fetch. It runs on the arguments you send. ## Convert text case MCP name: `convert_case` Page: https://benchline.fabwaseem.com/t/case-converter HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/case-converter with a JSON body matching the tool input. Convert text to camelCase, snake_case, kebab-case, CONSTANT_CASE, and AP or Chicago title case. Returns every style unless one is requested. Free text case converter. See lower, upper, sentence, capital, AP title case, Chicago title case, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, and the rest at once. This tool does not fetch. It runs on the arguments you send. ## Generate lorem ipsum or fake rows MCP name: `generate_fake_data` Page: https://benchline.fabwaseem.com/t/lorem-ipsum HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/lorem-ipsum with a JSON body matching the tool input. Generate seeded lorem ipsum, or fake JSON, CSV, or SQL rows from a list of field types. Free lorem ipsum and fake data generator. Write words, sentences, or paragraphs, or build a small table of names, emails, and other fields and download JSON, CSV, or SQL. The same seed repeats the same rows. This tool does not fetch. It runs on the arguments you send. ## Test a JavaScript regular expression MCP name: `test_regex` Page: https://benchline.fabwaseem.com/t/regex-tester HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/regex-tester with a JSON body matching the tool input. Run a JavaScript regular expression against a sample and return every match, capture group, a short explanation, and an optional replacement. Free JavaScript regex tester. Set flags, see every match and capture group, read a short explanation of the pattern, and preview a replacement. The match list is exact, which is what an agent needs when a model guesses. This tool does not fetch. It runs on the arguments you send. ## Format SQL MCP name: `format_sql` Page: https://benchline.fabwaseem.com/t/sql-formatter HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/sql-formatter with a JSON body matching the tool input. Format SQL for PostgreSQL, MySQL, BigQuery, Snowflake, and other dialects. Choose keyword case and an indent of 2 or 4 spaces. Free SQL formatter. Pick a dialect, choose upper, lower, or preserved keywords, and indent with 2 or 4 spaces. Formatting runs in the browser. This tool does not fetch. It runs on the arguments you send. ## Infer or validate JSON Schema MCP name: `validate_json_schema` Page: https://benchline.fabwaseem.com/t/json-schema-validate HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/json-schema-validate with a JSON body matching the tool input. Infer a JSON Schema from a sample, or validate JSON against a schema. Returns error paths plus TypeScript and Zod generated from the sample. Free JSON Schema generator and validator. Infer a schema from a sample, check a document against a schema you paste, and export TypeScript types and a Zod object. Errors include the path that failed. This tool does not fetch. It runs on the arguments you send. ## Calculate a loan EMI MCP name: `calculate_emi` Page: https://benchline.fabwaseem.com/t/loan-emi-calculator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/loan-emi-calculator with a JSON body matching the tool input. Calculate a reducing-balance loan installment and its amortization schedule. Money is rounded half up to cents. An optional extra monthly payment reduces principal. Free loan, EMI, and mortgage calculator. Enter principal, annual rate, and term. See the installment, total interest, and every payment. Extra monthly payments shorten the schedule. Amounts use decimal rounding, not binary floats. This tool does not fetch. It runs on the arguments you send. ## Calculate a percentage MCP name: `calculate_percentage` Page: https://benchline.fabwaseem.com/t/percentage-calculator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/percentage-calculator with a JSON body matching the tool input. Calculate percent of a value, what percent one number is of another, percent change, the reverse, an increase or decrease, and margin versus markup. Free percentage calculator. Find X% of Y, what percent X is of Y, the change from one number to another, the original value, an increase or decrease, and margin versus markup. Arithmetic uses decimal rounding. This tool does not fetch. It runs on the arguments you send. ## Convert units MCP name: `convert_units` Page: https://benchline.fabwaseem.com/t/unit-converter HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/unit-converter with a JSON body matching the tool input. Convert length, mass, volume, temperature, area, speed, time, and data size. Decimal bytes (kB, MB) and binary bytes (KiB, MiB) are separate categories. Free unit converter for length, mass, volume, temperature, area, speed, and time, plus decimal data units (kB, MB) and binary data units (KiB, MiB). Set the number of decimal places. This tool does not fetch. It runs on the arguments you send. ## Look up DNS records MCP name: `lookup_dns` Page: https://benchline.fabwaseem.com/t/dns-lookup HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/dns-lookup with a JSON body matching the tool input. Query A, AAAA, MX, TXT, CNAME, and CAA for a public hostname over DNS-over-HTTPS, and parse SPF and DMARC. Private names are refused. The resolver is Cloudflare or Google. Free DNS lookup. Ask Cloudflare or Google for A, AAAA, MX, TXT, CNAME, and CAA records, and read SPF and DMARC from the TXT answers. Queries run on the server. Private names are refused. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Calculate a CIDR block MCP name: `calculate_cidr` Page: https://benchline.fabwaseem.com/t/ip-cidr-calculator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/ip-cidr-calculator with a JSON body matching the tool input. Return the network, broadcast, host range, and host count for an IPv4 or IPv6 CIDR. Optionally test whether an address is inside it, split it, or merge it with other CIDRs. Free subnet calculator. Enter an IPv4 or IPv6 CIDR and see the network, mask, broadcast, first and last host, and the address count. Test whether an address is inside, split the block, or merge adjacent networks. This tool does not fetch. It runs on the arguments you send. ## Hash or verify a password MCP name: `hash_password` Page: https://benchline.fabwaseem.com/t/htpasswd-bcrypt HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/htpasswd-bcrypt with a JSON body matching the tool input. Hash a password with bcrypt or argon2id, or verify a hash. Returns an htpasswd line when a username is set. The password is not stored or logged. The page in the browser never sends the password; this call only hashes the arguments you send. Free bcrypt and argon2id generator. Hash a password in the browser, copy an htpasswd line, or verify an existing hash. The password is not sent, logged, or stored. This tool does not fetch. It runs on the arguments you send. ## Generate or convert a key pair MCP name: `generate_keypair` Page: https://benchline.fabwaseem.com/t/rsa-keypair HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/rsa-keypair with a JSON body matching the tool input. Generate an RSA, EC, or Ed25519 key pair as PEM and JWK, or convert between PEM and JWK. The private key is returned in the result and is not stored. The page in the browser generates keys locally and does not send them. Free key pair generator. Create an RSA, ECDSA, or Ed25519 key in the browser and copy PEM, JWK, and a JWKS. Convert between PEM and JWK. The private key is not sent, logged, or stored. This tool does not fetch. It runs on the arguments you send. ## Build a Content-Security-Policy MCP name: `build_csp` Page: https://benchline.fabwaseem.com/t/csp-generator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/csp-generator with a JSON body matching the tool input. Build a Content-Security-Policy from directives, or lint an existing policy. Returns the header line, a Next.js headers() snippet, and warnings for unsafe sources. Free Content-Security-Policy generator. Fill in directives or paste a policy, then copy the header and a next.config headers() snippet. Warnings call out wildcards, unsafe-inline, and a missing object-src or frame-ancestors. This tool does not fetch. It runs on the arguments you send. ## Validate or generate a sitemap MCP name: `validate_sitemap` Page: https://benchline.fabwaseem.com/t/sitemap-validator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/sitemap-validator with a JSON body matching the tool input. Validate sitemap XML or a public sitemap URL, including a sitemap index and a sample of HTTP statuses. Or generate a urlset from a list of URLs. Private addresses are refused and responses are size-capped. Free XML sitemap checker. Fetch a public sitemap, or paste XML, and see URL counts, lastmod problems, and a sample of HTTP statuses. Generate a urlset from a list of URLs. Private addresses are refused. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Check HTTP response headers MCP name: `check_http_headers` Page: https://benchline.fabwaseem.com/t/http-headers-checker HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/http-headers-checker with a JSON body matching the tool input. Fetch a public URL, follow redirects, and grade HSTS, Content-Security-Policy, framing, nosniff, and Referrer-Policy. Private addresses are refused. The body is not stored. Free HTTP header checker. Fetch a public URL, list the redirect chain, and grade HSTS, Content-Security-Policy, framing, nosniff, and Referrer-Policy. Private addresses are refused. The body is discarded. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Check a TLS certificate MCP name: `check_ssl` Page: https://benchline.fabwaseem.com/t/ssl-checker HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/ssl-checker with a JSON body matching the tool input. Connect to a public host on port 443 and report certificate expiry, subject alternative names, protocol, and chain. Private addresses are refused. The handshake times out after 8 seconds. Free SSL certificate checker. Connect to a public host on port 443 and report days until expiry, the subject, issuer, subject alternative names, protocol, and chain. Private addresses are refused. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Generate a TOTP/HOTP one-time code MCP name: `generate_totp` Page: https://benchline.fabwaseem.com/t/totp-generator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/totp-generator with a JSON body matching the tool input. Compute RFC 4226/6238 one-time passcodes from a base32 secret. Supports 6/8 digits, SHA1/SHA256/SHA512, and custom periods. Free TOTP and HOTP authenticator. Add accounts with a base32 secret, watch live codes tick down with a countdown, copy with one click, and import or export otpauth:// provisioning URIs. Everything runs in the browser; secrets never leave the page. This tool does not fetch. It runs on the arguments you send. ## Run a JSONPath query MCP name: `query_jsonpath` Page: https://benchline.fabwaseem.com/t/jsonpath-tester HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/jsonpath-tester with a JSON body matching the tool input. Evaluate a JSONPath Plus query against a JSON document and return the matches with their paths. A number that does not fit in a JavaScript number is returned as its original digits, with a precision warning. Free JSONPath tester. Paste a JSON document, write a JSONPath Plus query, and see each match with its path and a count. Syntax mistakes are reported with the position, and filters, slices, unions, and recursive descent all work. This tool does not fetch. It runs on the arguments you send. ## Evaluate a programmer expression MCP name: `calculate_programmer` Page: https://benchline.fabwaseem.com/t/programmer-calculator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/programmer-calculator with a JSON body matching the tool input. Evaluate integer expressions with C-like precedence (hex/octal/binary literals, bitwise ops, shifts) and report base conversions plus signed/unsigned interpretations. Free programmer calculator. Convert between binary, octal, decimal, and hexadecimal with live sync, evaluate expressions with C-like precedence, run bitwise AND, OR, XOR, NOT and shifts, toggle individual bits, and read signed and unsigned 8/16/32/64-bit interpretations plus the ASCII character. This tool does not fetch. It runs on the arguments you send. ## Encrypt or decrypt with AES-GCM MCP name: `aes_crypt` Page: https://benchline.fabwaseem.com/t/aes-crypto HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/aes-crypto with a JSON body matching the tool input. AES-256-GCM encryption with PBKDF2-SHA256 key derivation. Encrypt returns a base64 bundle (salt, IV, ciphertext); decrypt reverses it. Free AES encryption playground. Encrypt text with AES-256-GCM: the key is derived from your passphrase with PBKDF2-SHA256, and a fresh random salt and IV are generated every time. Decrypt a bundle back to plaintext. Everything runs locally with WebCrypto. This tool does not fetch. It runs on the arguments you send. ## Analyze a HAR file MCP name: `analyze_har` Page: https://benchline.fabwaseem.com/t/har-analyzer HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/har-analyzer with a JSON body matching the tool input. Parse a HAR (HTTP Archive) capture and summarize it: request counts, status distribution, slowest and largest requests, top hosts, and per-request timings. Free HAR file analyzer. Drop a .har capture or paste its JSON to get a request table with method, URL, status, size, and time, plus summary stats: totals, status-code distribution, the slowest requests, the largest payloads, top hosts, and a per-request timing breakdown of blocked, DNS, connect, send, wait, and receive. This tool does not fetch. It runs on the arguments you send. ## Convert JSON to type definitions MCP name: `convert_json_to_types` Page: https://benchline.fabwaseem.com/t/json-to-types HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/json-to-types with a JSON body matching the tool input. Infer types from a JSON document and generate TypeScript interfaces, Zod schemas, Python Pydantic models or dataclasses, and Go structs. Free JSON to type converter. Paste a JSON document and generate TypeScript interfaces, Zod schemas, Python Pydantic models or dataclasses, and Go structs. Optional fields are detected across array items, nulls become nullable, and nested objects get their own named types. This tool does not fetch. It runs on the arguments you send. ## Minify JavaScript, CSS, or HTML MCP name: `minify_code` Page: https://benchline.fabwaseem.com/t/code-minifier HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/code-minifier with a JSON body matching the tool input. Minify source code with Terser (JS), csso (CSS), or a structural HTML pass and report before/after byte counts. Free code minifier. Shrink JavaScript with Terser and CSS with csso, plus a structural HTML pass that strips comments, collapses whitespace, and cleans redundant attributes. Toggle mangling, compression, and aggressive HTML options, then compare before/after byte counts and the savings percentage. This tool does not fetch. It runs on the arguments you send. ## Convert a curl command to code MCP name: `convert_curl` Page: https://benchline.fabwaseem.com/t/curl-converter HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/curl-converter with a JSON body matching the tool input. Parse a curl command and generate equivalent JavaScript fetch, Python requests, Go, PHP, or Rust code. Free curl converter. Paste a curl command and get equivalent code for JavaScript fetch, Python requests, Go net/http, PHP cURL, and Rust reqwest. Headers, bodies, basic auth, and common flags are translated automatically. This tool does not fetch. It runs on the arguments you send. ## Execute a GraphQL query MCP name: `execute_graphql` Page: https://benchline.fabwaseem.com/t/graphql-client HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/graphql-client with a JSON body matching the tool input. Send a GraphQL query with optional variables and headers to a public http or https endpoint on port 80 or 443 and return the response data or errors. Local, private, and internal addresses are refused. Free GraphQL playground. Send queries to any GraphQL endpoint with JSON variables and custom headers, inspect pretty-printed responses and errors, and replay recent requests from history. Timing is reported per request. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Validate a WebSocket URL MCP name: `validate_websocket_url` Page: https://benchline.fabwaseem.com/t/websocket-tester HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/websocket-tester with a JSON body matching the tool input. Validate and parse a ws:// or wss:// URL into its components, and optionally decode a WebSocket close code. Free WebSocket testing tool. Connect to ws:// or wss:// endpoints, send text messages, and watch a live timestamped log of incoming, outgoing, and system frames. Close codes are decoded, and an optional heartbeat keeps idle connections alive. This tool does not fetch. It runs on the arguments you send. ## Generate a resume PDF MCP name: `generate_resume` Page: https://benchline.fabwaseem.com/t/resume-builder HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/resume-builder with a JSON body matching the tool input. Build a resume PDF from profile, experience, education, and skills. A name plus at least one experience, education, or skills entry is required. Choose the clean, modern, or compact template. Returns the A4 PDF as base64. Free resume builder. Fill in your profile, experience, education, and skills, preview three layouts, and download a PDF resume. Everything runs in this browser; nothing is uploaded. This tool does not fetch. It runs on the arguments you send. ## Generate an invoice or quote PDF MCP name: `generate_invoice` Page: https://benchline.fabwaseem.com/t/invoice-generator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/invoice-generator with a JSON body matching the tool input. Build an invoice or quote PDF from company and client details, line items with quantities and rates, a tax rate, and an optional percent or flat discount. All money is computed in integer cents, so there are no float rounding errors. Returns the PDF as base64 plus the total. Free invoice generator. Enter your company and client details, add line items, set tax and discounts in any currency, then download a professional PDF invoice or quote. Everything runs locally in the browser — nothing is uploaded. This tool does not fetch. It runs on the arguments you send. ## Sign a PDF with a PNG signature MCP name: `sign_pdf` Page: https://benchline.fabwaseem.com/t/pdf-signature HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-signature with a JSON body matching the tool input. Stamp a PNG signature image onto one or more PDF pages at given positions (fractions of the page, x and y measured from the top-left, width as a fraction of page width). The signature keeps its aspect ratio. Returns the signed PDF as base64. Free PDF signature tool. Draw your signature with a mouse or finger, or type your name in a script style, then drag-free position it on any page with sliders. The signature is drawn into the PDF in this browser. Nothing is uploaded. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Resize an image to social media dimensions MCP name: `resize_social_image` Page: https://benchline.fabwaseem.com/t/social-image-resizer HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/social-image-resizer with a JSON body matching the tool input. Crop and resize an image to an exact social media preset: instagram-post (1080x1080), instagram-portrait (1080x1350), instagram-story (1080x1920), youtube-thumbnail (1280x720), x-post (1200x675), x-header (1500x500), linkedin-post (1200x627), or facebook-post (1200x630). The cover crop keeps the center subject. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the image as base64 PNG. Free social image resizer. Upload a photo, pick a platform preset such as Instagram post 1080×1080 or YouTube thumbnail 1280×720, click to set the crop focal point, and export an exact-size PNG or JPEG. Everything runs in the browser; the image is never uploaded. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Trim a WAV audio file MCP name: `trim_audio` Page: https://benchline.fabwaseem.com/t/audio-trimmer HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/audio-trimmer with a JSON body matching the tool input. Trim a WAV audio file to a time range with optional fade in and out, returning a 16-bit PCM WAV as base64. Only WAV is accepted; the web UI handles MP3/OGG/M4A. Free audio trimmer that runs entirely in your browser. Upload audio, see the waveform, drag-select the part to keep, add fade in and fade out, and download a 16-bit WAV. Your audio never leaves this device. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Convert an amount between currencies MCP name: `convert_currency` Page: https://benchline.fabwaseem.com/t/currency-converter HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/currency-converter with a JSON body matching the tool input. Convert money between ISO 4217 currencies using live exchange rates from the Frankfurter API, fetched through the SSRF-safe outbound guard. Supports historical dates. Free currency converter with live exchange rates. Convert any amount between 30+ currencies, see a 30/90/365-day trend chart, and compare one currency against a full table. Rates come from the Frankfurter API (ECB reference data). This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Generate a meme image MCP name: `generate_meme` Page: https://benchline.fabwaseem.com/t/meme-generator HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/meme-generator with a JSON body matching the tool input. Render a classic top/bottom-caption meme as a PNG. Give it an image (base64, data URI, or public URL) or pick a gradient style, and it returns captioned meme artwork. Free meme maker that runs entirely in your browser. Pick a gradient style or upload an image, add top and bottom captions in the classic outlined style, drag them into place, and download a PNG. Nothing is uploaded. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Zip files or unzip an archive MCP name: `zip_files` Page: https://benchline.fabwaseem.com/t/zip-tools HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/zip-tools with a JSON body matching the tool input. Create a ZIP archive from files or list and extract the contents of a ZIP archive. Everything is handled in memory; no files are stored. Free ZIP creator and extractor with no uploads. Drop files to bundle them into a ZIP, or drop a ZIP to list and download its contents one by one. Path traversal is blocked and everything runs on this device. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Make a photo collage MCP name: `make_collage` Page: https://benchline.fabwaseem.com/t/photo-collage HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/photo-collage with a JSON body matching the tool input. Arrange up to 9 photos into a collage layout (duo, trio, focus, quad, six, nine) with a gap and background color, and get back a square PNG. Free photo collage maker that runs entirely in your browser. Pick from 7 layouts, drop up to 9 photos, pan and zoom each cell, tune the gap and background, and download a 2400px PNG. Nothing is uploaded. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Fill a PDF form MCP name: `fill_pdf_form` Page: https://benchline.fabwaseem.com/t/pdf-form-filler HTTP: POST https://benchline.fabwaseem.com/api/v1/tools/pdf-form-filler with a JSON body matching the tool input. Fill an interactive PDF form's text fields, checkboxes, dropdowns, and radios by field name, with an option to flatten the result. Pass inspectOnly to list the fields first. Free PDF form filler that runs entirely in your browser. Drop a PDF with an interactive form, fill its text fields, checkboxes, dropdowns, and radios by name, validate required fields, and download the filled PDF — flattened or still editable. Nothing is uploaded. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server.