# HelpySelf (remote · helpyself.com)

Convert and compress PDFs and images, redact personal data, and run text and data utilities.

- Trust score: 81/100 (high trust)
- Change this week: +13
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-01

## Components

- remote · `helpyself.com`: 81/100 (this document), [markdown](https://verifymcp.io/servers/com-helpyself-tools/helpyself.md), [page](https://verifymcp.io/servers/com-helpyself-tools/helpyself)

## Channel facts

- Endpoint: `https://helpyself.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-01.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 68/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 23689 tokens (~207/item across 114 items; 114 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 100/100
  - No destabilizing schema changes in the last 30 days.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 85/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 2 of 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "background_remover" implies "remove" and declares readOnlyHint instead, contradicting what its own name says it does.
  - An AI judge read all 115 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the HelpySelf MCP server?

HelpySelf is a hosted endpoint at https://helpyself.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-helpyself-tools 'https://helpyself.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-helpyself-tools": {
      "url": "https://helpyself.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-helpyself-tools": {
      "type": "http",
      "url": "https://helpyself.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-helpyself-tools]
url = "https://helpyself.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-helpyself-tools": {
      "type": "remote",
      "url": "https://helpyself.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-helpyself-tools --url 'https://helpyself.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-helpyself-tools:
    url: "https://helpyself.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-helpyself-tools": {
      "Transport": "http",
      "Url": "https://helpyself.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-helpyself-tools -t streamable-http -u 'https://helpyself.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-helpyself-tools": {
      "type": "http",
      "url": "https://helpyself.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-28 (score 81, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-25 (score 81, +13)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-20 (score 68, 0)

- [security] Stability: 0.97 → pass

### 2026-09-19 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-16 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-14 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-12 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-10 (score 64, +1)

- [security] Tool “game_collection” rewrote its description, which is the text the model reads

## MCP tools (114)

### `pdf_to_word` (~136 tokens)

PDF to Word

Convert PDF to Word — tables, pictures and all — in your browser A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The PDF to convert, base64-encoded (a data: URL prefix is accepted). It needs a text layer: a scan with no text is refused with `no_text` rather than turned into an empty document. Refused above 25 M…
- `keepPageBreaks` (boolean): Start a new page in the Word document wherever the PDF started one. Off by default, so the text reflows and the Word page count may differ from the PDF's.

### `word_to_pdf` (~131 tokens)

Word to PDF

Convert a Word document to PDF in your browser — nothing is uploaded. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The Word document, base64-encoded; a data: URL prefix is stripped if present. A .docx is expected, and the older binary .doc is recognised from its bytes too. Up to 25 MB once decoded.
- `pageSize` (string): document keeps the paper size and margins the file was written for. a4 or letter overrides them with that paper and fixed margins, which re-wraps every paragraph. Defaults to document.

### `currency_converter` (~163 tokens)

Currency Converter

An exchange rate calculator using the European Central Bank's official daily rate A HelpySelf tool (helpyself.com).

Input parameters:

- `amount` (number, required): How much of fromCurrency to convert, in major units (dollars, not cents). Negative is allowed, since a refund is a conversion too.
- `fromCurrency` (string, required): The ISO 4217 code of the currency the amount is in, such as USD. Case does not matter. Only currencies the European Central Bank quotes daily are known; an unknown code returns an error naming it.
- `toCurrency` (string, required): The ISO 4217 code to convert into, such as EUR. The rate used is the ECB cross rate for the day, and the whole day's rate table comes back with the answer.

### `photo_gallery` (~340 tokens)

Photo Gallery Maker

A photo gallery maker: drop pictures in, get a link with its own layout and password. A HelpySelf tool (helpyself.com).

Input parameters:

- `captions` (array): Captions matched to `fileIds` by position, so the third caption belongs to the third file. Use null or an empty string to leave one uncaptioned. Omit for none.
- `columns` (integer): Pictures per row on a wide screen, treated as a maximum: a phone shows at most two across and a tablet three, whatever is set here.
- `duration` (string): How long the public link works, from now: one hour, one day, seven days or thirty days. Cut short if any of the files expires sooner.
- `fileIds` (array, required): Ids of files the signed-in caller already owns, in the order they should appear. Upload first via POST /v1/files/upload-url then /v1/files/confirm; the gallery stores no bytes of its own. Up to 200 p…
- `intro` (string): A line of plain text under the heading; never rendered as a link. Omit for none.
- `layout` (string): grid crops every tile to a square for a uniform wall; masonry keeps each picture's own proportions and packs them.
- `password` (string): A password visitors must enter before any picture is fetched. Omit, or send an empty string, for an open link.
- `title` (string, required): The heading shown at the top of the gallery page, up to 120 characters.

### `pregnancy_calculator` (~193 tokens)

Pregnancy Calculator

A due date calculator that also tells you how many weeks you are today A HelpySelf tool (helpyself.com).

Input parameters:

- `asOfDate` (string): The date to measure weeks, days and trimester to, as YYYY-MM-DD. Omit and the server uses today's date in UTC, which can be a day out near midnight; send the reader's own local date when you have it.
- `cycleLength` (integer): Average menstrual cycle length in days. 28 is what Naegele's rule assumes; each day longer moves the due date and the estimated conception date one day later.
- `lmpDate` (string, required): First day of the last menstrual period as YYYY-MM-DD. Everything is counted from this date by Naegele's rule (280 days to the due date), shifted by `cycleLength`. Refused if it is in the future or mo…

### `auto_redact_pdf` (~183 tokens)

Auto Redact PDF

Auto redact PDF files: it finds the personal information, you confirm, the words are deleted. A HelpySelf tool (helpyself.com).

Input parameters:

- `language` (string): The language the document is most likely in, such as "Danish", passed to the model as a hint because it changes what a name looks like. A hint only: a wrong guess does not stop the text being read, a…
- `text` (string, required): The document's plain text, as extracted from the PDF, not the file itself. It is sent to a language model, which returns the personal names and postal addresses found in it, each exactly as written;…

### `find_a_time` (~245 tokens)

Find a Time

Propose a few times, send one link, see when everybody can make it A HelpySelf tool (helpyself.com).

Input parameters:

- `days` (integer): How many days the poll link stays open from now. After that it expires.
- `locale` (string): The language of the poll page: one of en, de, es, fi, fr, it, nl, pl. Anything else, or nothing, gives English.
- `note` (string): A line shown under the title to the people answering, such as where to meet.
- `options` (array, required): The times people choose between, at least 2 and at most 366. Duplicates are refused; they are sorted chronologically for the page.
- `timezone` (string): The IANA time zone the option times are written in, e.g. 'Europe/Berlin', so the page can say so. Omit it, or give an unknown zone, and the times are shown as written with no zone claimed.
- `title` (string, required): The heading on the poll page, shown to everybody who opens the link. 'Coffee with the team', 'Board meeting'.

### `background_remover` (~332 tokens)

Remove Background

Remove the background from an image — solid backgrounds go transparent, in your browser. A HelpySelf tool (helpyself.com).

Input parameters:

- `colour` (string): The background colour to remove, as #rrggbb hex. Omit to sample it from the four corners of the image; the response reports the colour used and whether the corners agreed on it.
- `data` (string, required): The image file's bytes, base64-encoded. This removes a flat, single-colour background such as a white product shot or a scan; it is not a subject cutout for photos with busy backgrounds.
- `feather` (number): How soft the edge is, 0 to 100. It widens the band of partly transparent pixels around the tolerance threshold, as a percentage of tolerance; 0 gives a hard jagged cut.
- `name` (string): The original filename. Used only to name the result, whose extension becomes .png because the output is always a PNG with transparency.
- `reach` (string): edges (the default) removes only background connected to the image border, so enclosed areas like the hole in a letter or a window behind someone stay. everywhere removes every pixel within tolerance…
- `tolerance` (number): How far a pixel's colour may be from the background colour and still be removed, 0 to 100 as a share of the largest possible RGB distance. Raise it for uneven lighting or JPEG noise; too high eats in…
- `type` (string, required): The MIME type of the bytes in data: JPEG, PNG or WebP.

### `pdf_compress` (~195 tokens)

Compress PDF

Reduce PDF size without turning the text into a picture. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The PDF to compress, base64-encoded (a data: URL prefix is stripped). The result comes back the same way in `data`.
- `level` (string): How hard to squeeze the embedded JPEGs. light re-encodes at quality 0.82 with the longest edge capped at 2400 px, balanced 0.65 and 1800 px, strong 0.45 and 1400 px. Text, fonts and vector graphics a…
- `name` (string): Filename echoed back as `name` in the response. Used for nothing else.
- `structureOnly` (boolean): Leave every image as it is and only rewrite the file structure with object streams. Saves a little on text-heavy documents and almost nothing on scans.

### `bmi_calculator` (~203 tokens)

BMI Calculator

A BMI calculator in metric or imperial, worked out in your browser. A HelpySelf tool (helpyself.com).

Input parameters:

- `feet` (number): The whole-feet part of the height. Imperial only; ignored when metric. Either feet or inches may be left out, so 6 ft with no inches works.
- `height` (number): Height in centimetres. Required when units is metric and ignored when imperial, which takes feet and inches instead.
- `inches` (number): The inches part of the height, added to feet. Imperial only; ignored when metric.
- `units` (string): metric (the default) reads weight as kg and height as cm; imperial reads weight as lb and height as feet plus inches. Also sets the unit of the healthy range returned.
- `weight` (number, required): Body weight, in kilograms when units is metric and in pounds when imperial. The healthy-weight range in the response comes back in the same unit.

### `body_fat_calculator` (~294 tokens)

Body Fat Calculator

A body fat calculator that works from a tape measure, using the US Navy method. A HelpySelf tool (helpyself.com).

Input parameters:

- `height` (number, required): Standing height, in the unit named by system.
- `hip` (number): Hip circumference at the widest point, in the unit named by system. Required when sex is female; ignored when male.
- `neck` (number, required): Neck circumference measured just below the larynx, in the unit named by system. Must be smaller than the waist (or waist plus hip for female) or the request is refused.
- `sex` (string, required): Which of the two US Navy equations to use; they are not interchangeable. female needs a hip measurement and uses waist plus hip; male uses the waist alone.
- `system` (string): The unit every measurement is in. metric (the default) reads height, neck, waist and hip in centimetres and weight in kilograms; imperial reads lengths in inches and weight in pounds.
- `waist` (number, required): Waist circumference, relaxed, in the unit named by system: at the navel for men, at the narrowest point for women.
- `weight` (number): Body weight in kg (metric) or lb (imperial). Not part of the percentage; it is only used to also return fat mass and lean mass in the same unit. Omit it and those come back null.

### `calorie_calculator` (~237 tokens)

Calorie Calculator

Work out how many calories you burn a day, and what to eat for a goal. A HelpySelf tool (helpyself.com).

Input parameters:

- `activity` (string): How active a typical week is, multiplying resting metabolism to get maintenance calories: sedentary (little or no exercise, x1.2, the default), light (x1.375), moderate (x1.55), active (x1.725), athl…
- `age` (integer, required): Age in years. The equation was fitted on adults, so under 18 or over 100 the answer is still computed but reported as reliable: false.
- `heightCm` (number, required): Height in centimetres. Under 120 cm the answer is marked unreliable.
- `sex` (string, required): Enters the Mifflin-St Jeor equation as a constant, and sets the lowest intake the tool will suggest: 1,200 kcal a day for female, 1,500 for male.
- `weightKg` (number, required): Body weight in kilograms. Under 30 kg the answer is marked unreliable.

### `coin_flip` (~109 tokens)

Coin Flip

A coin toss you can trust — heads or tails, from real randomness. A HelpySelf tool (helpyself.com).

Input parameters:

- `count` (integer): How many times to flip, 1 to 1000. Every flip comes back in order, with a heads and tails tally beside them.
- `headsPercent` (number): Chance of heads on each flip, as a percentage. 50 is a fair coin; 12.5 is honoured exactly rather than rounded to a whole percent.

### `countdown_timer` (~123 tokens)

Countdown Timer

A 5 minute timer, a 10 minute timer, or any timer online — with an alarm. A HelpySelf tool (helpyself.com).

Input parameters:

- `hours` (integer): The hours part of the duration. The three parts are added together and capped at 24 hours in total, then returned as milliseconds, as h:mm:ss text and as parts.
- `minutes` (integer): The minutes part of the duration. Defaults to 5, so an empty request is 05:00.
- `seconds` (integer): The seconds part of the duration.

### `delisted_games` (~112 tokens)

Delisted Games

Check whether a Steam game has been delisted — and when it went A HelpySelf tool (helpyself.com).

Input parameters:

- `game` (string, required): The game to look up: a name, a Steam store URL or a numeric app id, in one field. A name is matched against every game ever seen in the weekly Steam snapshots, including ones Steam's own search no lo…

### `dice_roller` (~156 tokens)

Dice Roller

A dice roller for any number of sides, rolled in your browser. A HelpySelf tool (helpyself.com).

Input parameters:

- `dice` (integer): How many dice to roll, 1 to 100: the 2 in 2d6+3. Each roll comes back separately along with their subtotal.
- `modifier` (integer): A whole number added once to the total, not to each die: the +3 in 2d6+3. May be negative. Defaults to 0.
- `sides` (integer): Faces on each die, 2 to 1000: the 6 in 2d6+3. Every die rolls 1 to this number. Defaults to 6.

### `pdf_merge` (~63 tokens)

Merge PDF

Merge PDF files into one document. A HelpySelf tool (helpyself.com).

Input parameters:

- `files` (array, required): The PDFs to join, in the order their pages should appear in the result. Needs at least two, and no more than 30 in one request.

### `pace_calculator` (~186 tokens)

Pace Calculator

A running pace calculator: give any two of distance, time and pace to get the third. A HelpySelf tool (helpyself.com).

Input parameters:

- `distance` (number): How far, in the unit named by `unit`. Give any two of distance, timeSeconds and paceSecondsPerUnit and the third is worked out.
- `paceSecondsPerUnit` (number): Pace in seconds per `unit`, so 315 with unit km is 5:15 per kilometre. Ignored when distance and timeSeconds are both given, since those two determine it.
- `timeSeconds` (number): Total time in seconds, so 3150 is 52 minutes 30 seconds.
- `unit` (string): The unit `distance` and `paceSecondsPerUnit` are read in. The answer always reports pace per kilometre and per mile, whichever was given.

### `password_generator` (~218 tokens)

Password Generator

A password generator for strong random passwords, in your browser. A HelpySelf tool (helpyself.com).

Input parameters:

- `count` (integer): How many passwords to return, up to 50. Always an array.
- `digits` (boolean): Include 0-9.
- `excludeAmbiguous` (boolean): Leave out I, l, 1, O, 0 and o, which are misread when a password is written down or read aloud. Slightly lowers the entropy.
- `length` (integer): Characters per password, 4 to 128. The reported entropy in bits grows with the length and with how many character sets are on.
- `lowercase` (boolean): Include a-z. Every password is guaranteed at least one character from each set that is on, and at least one of the four sets must be on.
- `symbols` (boolean): Include the symbols !#$%&*+-=?@^_~. Turn off for systems that refuse punctuation.
- `uppercase` (boolean): Include A-Z.

### `random_number_generator` (~161 tokens)

Random Number Generator

A random number generator for any range, in your browser. A HelpySelf tool (helpyself.com).

Input parameters:

- `count` (integer): How many numbers to draw, up to 1000. Always returned as an array.
- `max` (integer): Highest whole number that may be drawn, inclusive. Must not be below `min`. 100 when omitted.
- `min` (integer): Lowest whole number that may be drawn, inclusive. 1 when omitted.
- `sorted` (boolean): Return the draw in ascending order. Sorting happens after drawing, so it does not change the odds.
- `unique` (boolean): Draw without repeats, like lottery balls rather than dice. Refused if `count` is more than the range holds.

### `random_picker` (~141 tokens)

Random Picker

A random picker for a list of names, drawn in your browser. A HelpySelf tool (helpyself.com).

Input parameters:

- `count` (integer): How many entries to pick, without repeats. Asking for more than the list holds is an error rather than a shorter answer. Ignored when shuffleAll is true.
- `items` (array, required): The list to pick from, up to 10000 entries. An entry written twice is deliberately twice as likely to be picked, so duplicates are not collapsed.
- `shuffleAll` (boolean): Return the whole list in a random order instead of a selection. Every ordering is equally likely, and count is ignored.

### `exif_remover` (~210 tokens)

Remove EXIF Data

See what your photos reveal, then remove the EXIF data — without uploading them. A HelpySelf tool (helpyself.com).

Input parameters:

- `action` (string): 'inspect' lists the metadata found (camera, time, location) without changing the file. 'strip' returns the same image with that metadata removed, losslessly.
- `data` (string, required): The image file as base64: a JPEG, PNG or WebP. The format is detected from the bytes, and files over 50 MB are refused.
- `keepColourProfile` (boolean): Keep the ICC colour profile when stripping. Set false to remove it too, which can visibly shift the colours on wide-gamut screens.
- `keepOrientation` (boolean): Keep the EXIF orientation flag when stripping, so a phone photo does not turn on its side. Set false to remove it with everything else.
- `name` (string): A filename echoed back with a strip result. It does not affect what is removed.

### `unit_converter` (~276 tokens)

Unit Converter

kg to lbs, mm to inches, cm to feet — every everyday unit, in your browser. A HelpySelf tool (helpyself.com).

Input parameters:

- `category` (string): Which kind of quantity: length, mass, temperature, volume, area, speed, data, time. Both from and to must be units of this category. Defaults to length.
- `from` (string, required): Unit id to convert from, which must belong to category. Ids by category: length: mm, cm, m, km, in, ft, yd, mi; mass: g, kg, t, oz, lb, st; temperature: c, f, k; volume: ml, l, tsp, tbsp, cup, pt, ga…
- `to` (string, required): Unit id to convert to, from the same category and the same list of ids as from.
- `value` (number): The quantity to convert, expressed in the from unit. Defaults to 1.

### `what_is_my_ip` (~38 tokens)

What Is My IP

What's my IP — the address the internet sees, and where it thinks you are. A HelpySelf tool (helpyself.com).

### `xml_formatter` (~160 tokens)

XML Formatter

An XML formatter that indents, minifies and checks a document in your browser. A HelpySelf tool (helpyself.com).

Input parameters:

- `indent`: Spaces per nesting level when formatting, or "tab" for one tab per level. Ignored by minify and validate. Defaults to 2.
- `keepComments` (boolean): Keep <!-- --> comments when formatting; false drops them. Defaults to true.
- `mode` (string): format re-indents it, one node per line; minify puts it on one line; validate only reports whether the tags nest and close, with the line of the first fault. None of them checks against a schema. Def…
- `xml` (string, required): The XML document to work on.

### `pdf_to_images` (~337 tokens)

PDF to Images

PDF to JPG, PDF to PNG — every page as an image, at the size you need. A HelpySelf tool (helpyself.com).

Input parameters:

- `archive` (boolean): Return one ZIP of every image, base64-encoded in `data`, instead of an `images` array with one base64 string per page. Easier to handle for a long document.
- `data` (string, required): The PDF to render, base64-encoded. A data: URL prefix is stripped.
- `name` (string): Base name for the image files; a .pdf ending is dropped and pages are named <name>-01.png and so on, zero-padded to the page count. Also names the ZIP when `archive` is on.
- `pages` (string): Which pages to render, counted from 1: single pages and ranges separated by commas, such as "1-3, 7, 12-", where an open end runs to the last page. Omit for every page.
- `quality` (number): Compression quality for JPEG and WebP, 0.1 to 1, where 1 is the largest file and the best picture. Ignored for PNG.
- `size` (string): Longest edge of each image in pixels: thumbnail 480, screen 1280, print 2480. A request estimated at more than 120 megapixels in total is refused before rendering, so ask for fewer pages or a smaller…
- `type` (string): Image format for every page. PNG is lossless; JPEG and WebP are much smaller and honour `quality`.

### `pdf_reorder` (~212 tokens)

Reorder PDF Pages

Rearrange, rotate and delete pages from a PDF, then save it back out. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The PDF to rebuild, base64-encoded. A data: URL prefix is stripped.
- `name` (string): Base name for the output file; a .pdf ending is dropped and the response names it <name>.pdf.
- `order` (string): Source page numbers, 1-based, in the order they should appear, as "3, 1, 2". A range may run backwards, so "10-1" reverses a ten-page document. Leave a page out to delete it and repeat one to duplica…
- `rotations` (object): Extra clockwise rotation per source page, as {"2": 90}. Added to whatever rotation the page already has, and keyed by source page rather than output position, so it holds good after a reorder.

### `pdf_split` (~205 tokens)

Split PDF

Extract pages from a PDF or split it into separate files. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The PDF to split, base64-encoded. A data: URL prefix is stripped.
- `mode` (string): extract returns one PDF holding the selected pages; single returns one PDF per selected page. `files` in the response is an array either way.
- `name` (string): Base name for the output files; a .pdf ending is dropped. extract mode names the result <name>-extracted.pdf, single mode <name>-page-N.pdf per page.
- `pages` (string): Which pages to take, counted from 1: single pages and ranges separated by commas, such as "1-3, 7, 12-", where an open end runs to the last page. The order given is kept, so "3, 1" puts page 3 first.…

### `avif_converter` (~313 tokens)

AVIF Converter

AVIF to JPG, and JPG to AVIF — the format that halves a photograph. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The image file's bytes, base64-encoded: JPEG, PNG, WebP, GIF or AVIF. At most 30 MB decoded. An animated GIF is converted to a still of its first frame, and the response says so with note: "animation…
- `format` (string): The format to produce. AVIF is what the tool is for; WebP, JPEG and PNG exist so an AVIF can be converted back to something older software opens.
- `maxWidth` (integer): Scale the image down so its width is at most this many pixels, keeping the aspect ratio. Never enlarges. Omit to keep the original dimensions.
- `name` (string): The original filename. Only used to name the result: its extension is swapped for the output format's, so photo.jpg comes back as photo.avif.
- `quality` (integer): Encoder quality, 1 (smallest, roughest) to 100 (largest). Ignored for PNG, which is lossless. The default of 60 is deliberate: AVIF at 100 is often larger than the JPEG it replaces.
- `type` (string): The MIME type of the bytes in data. The image pipeline reads all of these; the actual format is taken from the bytes, so a wrong value here is not fatal.

### `images_to_pdf` (~209 tokens)

Images to PDF

JPG to PDF and PNG to PDF — photos to PDF, in the order you choose. A HelpySelf tool (helpyself.com).

Input parameters:

- `images` (array, required): The images in page order, one page each, at most 100 of them.
- `margin` (integer): White space around the image on 'a4' and 'letter' pages, in PDF points (72 per inch; 144 is two inches). Ignored for 'fit'.
- `orientation` (string): Page orientation for 'a4' and 'letter': 'portrait' or 'landscape' for every page, or 'auto' to turn a page landscape when its image is wider than tall. Ignored for 'fit'.
- `pageSize` (string): The paper size. 'fit' makes each page exactly the image's own pixel size, with no margins or letterboxing; 'a4' and 'letter' put every image on that fixed page, scaled to fit and centred.

### `pdf_rotate` (~218 tokens)

Rotate PDF

Rotate PDF pages the right way up — sideways or upside-down. A HelpySelf tool (helpyself.com).

Input parameters:

- `angle`: Clockwise rotation in degrees, added to whatever rotation each page already has. Lossless: nothing is re-rendered. A quarter turn when omitted.
- `data` (string, required): The PDF to rotate, base64-encoded. A data: URL prefix is stripped.
- `name` (string): Base name for the output file; a .pdf ending is dropped and the response names it <name>-rotated.pdf.
- `only` (string): Filter the selected pages by their current orientation: landscape turns only pages wider than tall, portrait only pages taller than wide, all turns every selected page. The response lists which pages…
- `pages` (string): Which pages to rotate, counted from 1: single pages and ranges separated by commas, such as "1-3, 7, 12-", where an open end runs to the last page. Omit for every page.

### `base64` (~171 tokens)

Base64 Encoder & Decoder

Base64 encode and decode text instantly, with full Unicode support. A HelpySelf tool (helpyself.com).

Input parameters:

- `action` (string): encode turns text into Base64; decode turns Base64 back into UTF-8 text. Defaults to encode.
- `text` (string, required): The text to encode, or the Base64 to decode, depending on action. Encoding goes through UTF-8 first, so accents, emoji and CJK survive. Decoding accepts standard or URL-safe Base64, with or without p…
- `urlSafe` (boolean): When encoding, use the URL-safe alphabet (RFC 4648 section 5): + and / become - and _, and the = padding is dropped, as in JWTs. Ignored when decoding, which detects either alphabet.

### `cookie_checker` (~101 tokens)

Cookie Checker

A cookie checker that shows what a website sets, and whether Secure, HttpOnly and SameSite are on. A HelpySelf tool (helpyself.com).

Input parameters:

- `url` (string, required): The public website to check, for example https://example.com. A bare hostname is read as https. The page is fetched as a normal browser would and every Set-Cookie header it returns is parsed and judg…

### `image_cropper` (~280 tokens)

Crop Image

Crop image online — drag the box, or type an exact size in pixels. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The image file as base64, in the format given by type.
- `format` (string): The output format. 'auto' keeps PNG and WebP sources in their own format, so transparency survives, and writes everything else as JPEG.
- `height` (integer, required): The crop box's height in source pixels, clamped to the image like width.
- `name` (string): The source filename. The result keeps its stem with the output format's extension.
- `quality` (number): Encoder quality from 0.1 to 1 for JPEG and WebP output; lower is smaller and softer. PNG is lossless and ignores it.
- `type` (string, required): The MIME type of the source image: image/jpeg, image/png or image/webp.
- `width` (integer, required): The crop box's width in source pixels. A box that runs past the image is clamped to fit inside it, and never below 8 pixels.
- `x` (integer, required): The crop box's left edge, in pixels from the left of the source image.
- `y` (integer, required): The crop box's top edge, in pixels from the top of the source image.

### `image_to_text` (~269 tokens)

Image to Text

Image to text: read the words out of a photo — receipts, screenshots, handwriting. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string): The image file as base64, in the format given by type. Send this or fileId, not both. Anything a vision model can read works: a photo of a page, a screenshot, a scan.
- `fileId` (string): The id of an image already uploaded to the caller's account, to read instead of data. Needs a signed-in caller; the upload is consumed by the run. Most scripts should send data instead.
- `language` (string): The language the text is most likely in, e.g. 'Danish', as a hint to the model. It is not a constraint: what is actually in the picture is transcribed.
- `mode` (string): What to return: 'text' is the words in reading order and nothing else; 'markdown' keeps headings and lists, which suits a document scan; 'table' transcribes a table as CSV.
- `type` (string): The MIME type of the bytes in data: image/jpeg, image/png, image/webp or image/gif. Ignored when fileId is used, since the stored type wins.

### `readability_score` (~107 tokens)

Readability Score

Readability score for any text — Flesch–Kincaid, Gunning fog index and more. A HelpySelf tool (helpyself.com).

Input parameters:

- `text` (string, required): English prose to score, at least 20 words. Scored with Flesch Reading Ease, Flesch-Kincaid, Gunning fog, SMOG, ARI and Coleman-Liau, which are averages over sentence and syllable counts, so a short p…

### `barcode_generator` (~284 tokens)

Barcode Generator

A barcode generator for EAN-13, UPC-A, EAN-8 and Code 128 — check digit included. A HelpySelf tool (helpyself.com).

Input parameters:

- `height` (integer): Height of the bars in pixels. The printed number and the longer guard bars add to the total height of the SVG when showText is true.
- `scale` (integer): Width of the narrowest bar in pixels; every other width and the quiet zones are multiples of it, so this sets the overall size. 3 is about right for a screen.
- `showText` (boolean): Print the encoded value underneath the bars, as a retail barcode always does. False gives bars only.
- `symbology` (string): Which barcode standard to draw. ean13 (13 digits, the retail default worldwide), upca (12 digits, North American retail), ean8 (8 digits, small packaging), code128 (letters, digits and punctuation, f…
- `text` (string, required): What to encode. For ean13, upca and ean8 this is digits only: 12, 11 or 7 of them and the check digit is worked out, or one more and it is verified (a wrong one is refused rather than drawn). For cod…

### `barcode_reader` (~123 tokens)

Barcode Reader

A barcode scanner online — read a barcode or QR code from a photo or screenshot. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The image file's bytes, base64-encoded: JPEG, PNG, WebP, GIF or BMP. SVG is refused here (the server cannot rasterise it); convert it to PNG first.
- `type` (string): The MIME type of the bytes, such as image/png. Optional and only used to reject something that is plainly not an image; the format is otherwise read from the bytes.

### `contrast_fixer` (~177 tokens)

Contrast Fixer

A colour contrast fixer — the nearest accessible colour that passes WCAG AA. A HelpySelf tool (helpyself.com).

Input parameters:

- `adjust` (string): Which colour may change. Only its lightness moves; hue and saturation are kept. 'either' tries both and returns the smallest change first. Defaults to either.
- `background` (string, required): The colour behind the text, in the same forms as foreground.
- `foreground` (string, required): The text colour, as hex, rgb(), hsl() or a CSS colour name.
- `level` (string): The WCAG grade to reach. AA is normal body text at 4.5:1, AA_LARGE is large text at 3:1, AAA is 7:1 and AAA_LARGE is 4.5:1. Defaults to AA.

### `csv_to_json` (~360 tokens)

CSV to JSON

CSV to JSON and back — turn a spreadsheet export into clean, readable JSON. A HelpySelf tool (helpyself.com).

Input parameters:

- `delimiter` (string): The field separator: comma, semicolon, tab or pipe. 'auto' (the default) picks whichever appears most on the first line outside quotes when reading CSV, and writes a comma when producing it. The one…
- `direction` (string): Which way to convert. Defaults to csv-to-json. Going to CSV, the columns are the union of every object's keys and rows are joined with CRLF.
- `header` (boolean): Treat the first CSV row as column names, or write one when producing CSV. On by default. Off, every row is data and shape falls back to arrays.
- `indent` (integer): Spaces of indentation in the JSON output. 0 puts it all on one line. Defaults to 2. Ignored when producing CSV.
- `shape` (string): The JSON produced from CSV: 'objects' keyed by column name (duplicate names get a _2 suffix), or 'arrays' of values in column order. Defaults to objects.
- `text` (string, required): The data to convert: CSV text when direction is csv-to-json, or a JSON array of objects or arrays when it is json-to-csv. Quoted fields, embedded newlines and doubled quotes are handled.
- `trim` (boolean): Strip whitespace from both ends of every field and column name when reading CSV. On by default.
- `typed` (boolean): Convert fields that look like numbers, true/false or null to those JSON types, and empty fields to null. Off by default so postcodes and codes like 007 stay strings.

### `image_resizer` (~440 tokens)

Image Resizer

A photo resizer for any size — JPEG, PNG, WebP or an iPhone HEIC. A HelpySelf tool (helpyself.com).

Input parameters:

- `allowUpscale` (boolean): Allow a result larger than the source on either side, up to 10000 pixels. Off by default, so enlarging is refused with an explanation rather than adding blur.
- `data` (string, required): The image file as base64, in the format given by type.
- `format` (string): The output format: image/jpeg, image/png or image/webp. Omit it to keep the source format.
- `height` (integer): The target height in pixels, for the 'dimensions' mode. With keepAspect on it only applies when width is omitted, and then sets the width from it.
- `keepAspect` (boolean): Keep the source proportions in 'dimensions' mode, so one of width or height drives the other. Set false to stretch to an exact width and height.
- `mode` (string): How the new size is given: 'dimensions' uses width and height in pixels, 'percentage' scales both sides by percentage and ignores width and height.
- `name` (string): The source filename. The result is named after its stem with the new size appended, e.g. 'photo-800x600.jpg'.
- `percentage` (number): The scale for the 'percentage' mode, as a percentage of the source size per side: 50 halves both edges, 100 leaves it as is. Over 100 needs allowUpscale.
- `quality` (number): Encoder quality from 0.1 to 1 for JPEG and WebP output; lower is smaller and softer. PNG is lossless and ignores it.
- `type` (string, required): The MIME type of the source image: image/jpeg, image/png or image/webp.
- `width` (integer): The target width in pixels, for the 'dimensions' mode. With keepAspect on, giving a width sets the height from it and any height given is ignored. Omitted with keepAspect off, the source width is kep…

### `invoice_generator` (~471 tokens)

Invoice Generator

A free invoice generator that makes a real PDF — no watermark, no sign-up. A HelpySelf tool (helpyself.com).

Input parameters:

- `currency` (string): The ISO 4217 currency code, e.g. 'USD', 'EUR', 'DKK'. It decides the symbol and decimals shown; an unknown code is refused with an error rather than guessed.
- `from` (string, required): The sender's name and address as free text; line breaks are kept.
- `issueDate` (string, required): The date the invoice is issued, as YYYY-MM-DD. The due date is counted from it, and its year goes into the generated invoice number.
- `items` (array, required): The lines to bill, in the order they should appear.
- `locale` (string): The BCP 47 locale the amounts are formatted in, e.g. 'en-US' writes 1,234.56 and 'da-DK' writes 1.234,56. It does not translate the labels.
- `notes` (string): Free text printed under the totals: payment details, bank account, terms, a thank-you. Empty prints nothing.
- `number` (string): Your own invoice number, printed as given. Overrides the one built from sequence.
- `paymentTermsDays` (integer): How many days after issueDate payment is due. 0 means due on the issue date.
- `pdf` (boolean): Include the rendered PDF as base64 in pdfBase64. Set false to get only the number, due date and totals, which is faster and much smaller.
- `sequence` (integer): The position in your invoice series, used to build the number as INV-<year>-<sequence padded to 4 digits>, e.g. 7 in 2026 gives INV-2026-0007. Ignored when number is given.
- `taxLabel` (string): What the tax line is called on the invoice: 'VAT', 'MwSt', 'Moms', 'GST'.
- `taxPercent` (number): Tax added on top of the subtotal, as a percentage: 25 adds a quarter. 0 leaves the total equal to the subtotal.
- `to` (string, required): The customer's name and address as free text; line breaks are kept.

### `signature_maker` (~313 tokens)

Signature Maker

A signature maker: draw or type yours, saved with a transparent background. A HelpySelf tool (helpyself.com).

Input parameters:

- `colour` (string): Ink colour as a hex value, #rgb or #rrggbb. Anything else falls back to #111111 rather than being written into the SVG.
- `padding` (number): Space left around the ink when trimming, measured in stroke widths rather than points units, so 2 at a strokeWidth of 3 is 6 units on every side.
- `simplify` (boolean): Drop points that lie almost on the line between their neighbours (tolerance of a quarter of strokeWidth). Shrinks the path a great deal and steadies the smoothing.
- `smooth` (boolean): Draw quadratic curves through the points instead of straight segments between them, which stops a signature looking ruler-drawn.
- `strokeWidth` (number): Line thickness, in the same units as the points. It also sets the scale of padding and of the simplify tolerance.
- `strokes` (array, required): The drawing as a list of strokes, each a list of points in the order the pen visited them, in any consistent unit. At most 20000 points in total. The result is an SVG path, so the units only matter r…
- `trim` (boolean): Fit the SVG viewBox tightly to the ink. False keeps the pad's origin, so empty space above and left of the signature is kept and it sits off-centre when placed.

### `stall_booking` (~787 tokens)

Stall Booking

One link, on your own site or sent — vendors pick their own stall A HelpySelf tool (helpyself.com).

Input parameters:

- `backGap` (integer): Space between the two backs of a paired row in centimetres, for the sellers' chairs and stock. Only used when backToBack is true; it is not the aisle.
- `backToBack` (boolean): Lay rows out in pairs with their backs together and the aisle only between pairs, so the public cannot walk behind a seller. Fits more stalls in the same hall than a plain grid.
- `currency` (string): What the price is in. An ISO code such as "DKK" or "EUR" is formatted properly; any other text ("kr", "beer tokens") is printed as given beside the number.
- `date` (string, required): The day the market is held, as YYYY-MM-DD with no time or zone. It must not be in the past, and the booking page is deleted daysAfter days after it.
- `daysAfter` (integer): How many days after the market date the booking page stays up. After that it is deleted, along with the vendors' names and contact details.
- `gap` (integer): The aisle between stalls in centimetres, both between neighbours in a row and between rows. 120 fits prams and wheelchairs.
- `hallDepth` (integer): Depth of the hall in centimetres. Required when no venueId is given.
- `hallWidth` (integer): Width of the hall in centimetres, so 2000 is twenty metres. Required when no venueId is given; a value under two metres is refused as a typo.
- `holdHours` (integer): How many hours a booked stall is held while the vendor pays, at most a week. If the organiser has not marked it paid by then, the stall is released for someone else to book.
- `note` (string): A line shown under the title on the booking page: doors open, where to park, what not to bring.
- `paymentDetails` (string): How a vendor is to pay, in the organiser's own words, shown to them after they book: a bank account, a MobilePay number, "cash on the day". No card processing is involved.
- `price` (integer): What one stall costs, in the currency's minor unit (cents, pence, øre), so 25000 is 250.00. Never a decimal amount. 0 means the stalls are free.
- `stallDepth` (integer): Depth of one stall in centimetres, front to back.
- `stallWidth` (integer): Width of one stall in centimetres, along the row. 180 is a standard trestle table.
- `stalls` (integer): How many stalls to lay out in the rectangle. Required when no venueId is given. If fewer fit at the given stall size, fewer are made rather than the stalls being shrunk, and the response says how man…
- `title` (string, required): The market's name, shown as the heading of the public booking page vendors book on. A successful call publishes that page under the caller's account and returns its URL, so call once per market.
- `units` (string): How the hall is shown to people, in metres or in feet. Display only: every dimension in this call is centimetres either way.
- `venueId` (string): The id of a hall the caller has already drawn in the venue editor. Given, the market uses that hall's shape and hand-placed stalls, and hallWidth, hallDepth, stalls and the stall sizes are ignored. O…

### `url_encoder` (~171 tokens)

URL Encoder & Decoder

A URL encoder and decoder for links and query strings, percent-encoded properly. A HelpySelf tool (helpyself.com).

Input parameters:

- `action` (string): encode percent-encodes text; decode reverses it; parse splits a complete URL (scheme included) into protocol, host, path, query parameters and hash, and ignores mode.
- `mode` (string): component encodes or decodes every reserved character, as encodeURIComponent does, which is right for one query value. full leaves the characters that structure a URL (/ ? & = : #) alone, as encodeUR…
- `text` (string, required): The text to encode, the percent-encoded string to decode, or the URL to parse, depending on action.

### `bulk_image_resizer` (~244 tokens)

Bulk Image Resizer

A bulk image resizer for a whole folder at once, in your browser. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The image file's bytes, base64-encoded.
- `format` (string): The output format. keep (the default) re-encodes in the same type as the input; the others convert. JPEG has no transparency, so transparent areas are flattened onto white.
- `maxEdge` (integer, required): The longest side of the result in pixels. The image is scaled down to fit inside this on its longer edge, keeping its aspect ratio. Never enlarges: an image already within the bound is returned as it…
- `name` (string): The original filename. Echoed back unchanged as the result's name.
- `quality` (number): Encoder quality for JPEG and WebP, 0.1 (smallest) to 1 (largest). Has no effect on PNG, which is lossless.
- `type` (string, required): The MIME type of the bytes in data: JPEG, PNG or WebP. Also the output type when format is keep.

### `contrast_grid` (~168 tokens)

Contrast Grid

A contrast grid for your whole palette — every pairing checked against WCAG. A HelpySelf tool (helpyself.com).

Input parameters:

- `level` (string): The WCAG grade a pairing must clear to count as passing: AA is 4.5:1, AA_LARGE is 3:1, AAA is 7:1, AAA_LARGE is 4.5:1. Every cell still reports its own ratio and grade; this only decides the pass cou…
- `palette` (string, required): The colours to check against each other, as hex, rgb(), hsl() or CSS colour names, separated by newlines, commas or spaces. CSS custom-property names are ignored, duplicates are dropped, and 2 to 24…

### `image_converter` (~257 tokens)

Image Converter

Convert between JPEG, PNG and WebP, one file or many, with transparency flattened onto a colour you choose. HEIC and AVIF are browser-only and not accepted here. A HelpySelf tool (helpyself.com).

Input parameters:

- `background` (string): A CSS colour painted behind transparent areas when converting to JPEG, which has no transparency. Defaults to white. Ignored for PNG and WebP targets.
- `data` (string, required): The image file as base64, in the format given by type.
- `name` (string): The source filename. The result keeps its stem with the target format's extension.
- `quality` (number): Encoder quality from 0.1 to 1 when the target is JPEG or WebP; lower is smaller and softer. PNG is lossless and ignores it.
- `target` (string, required): The format to convert to: image/jpeg, image/png or image/webp. It must differ from type; converting to the same format is refused. AVIF is not available over the API.
- `type` (string, required): The MIME type of the source image: image/jpeg, image/png or image/webp. HEIC, AVIF, TIFF and BMP are not accepted over the API.

### `markdown_to_html` (~223 tokens)

Markdown to HTML

Turn Markdown into clean HTML, with a preview you can trust. A HelpySelf tool (helpyself.com).

Input parameters:

- `allowHtml` (boolean): Pass any raw HTML in the Markdown through to the output instead of escaping it. Off by default, which is the safe choice: inline HTML can carry a script, so only turn this on for Markdown you wrote y…
- `breaks` (boolean): Turn every single newline into a <br>, the way chat apps do. Off, and only a line ending in two spaces breaks; other newlines join into the same paragraph.
- `headingIds` (boolean): Give every heading an id derived from its text, made unique within the document, so a table of contents can link to it. Off, and headings carry no id.
- `text` (string, required): The Markdown to convert: CommonMark plus the GitHub extensions (tables, strikethrough, task lists, autolinks). Links are limited to http, https, mailto, tel, ftp and relative URLs; other schemes are…

### `wheel_of_names` (~151 tokens)

Wheel of Names

A spinning wheel of names — paste a list, spin, and get one fair winner. A HelpySelf tool (helpyself.com).

Input parameters:

- `draws` (integer): How many winners to draw. Without removeWinner each draw is from the full list, so the same name can win more than once. Defaults to 1.
- `names` (string, required): The entries to draw from, one per line. Blank lines and surrounding spaces are ignored; a name listed twice has two chances.
- `removeWinner` (boolean): Take each winner out of the list before the next draw, so no name wins twice. Drawing stops early if the list runs out; remaining in the response lists who is left.

### `word_counter` (~80 tokens)

Word Counter

A word counter and character counter, updating as you type. A HelpySelf tool (helpyself.com).

Input parameters:

- `text` (string, required): The text to count. Returns characters with and without spaces, words, sentences, paragraphs (split on blank lines), lines, reading and speaking time in minutes, and the most frequent words with commo…

### `yaml_to_json` (~178 tokens)

YAML to JSON

Convert a config file to JSON, or JSON back to readable YAML. A HelpySelf tool (helpyself.com).

Input parameters:

- `direction` (string): yaml-to-json parses YAML and returns JSON; json-to-yaml parses JSON and returns YAML. Defaults to yaml-to-json.
- `indent` (integer): Spaces of indentation in the output. For JSON, 0 gives a single line; YAML output always indents by at least 1. Defaults to 2.
- `sortKeys` (boolean): Sort object keys alphabetically at every level, so two configs can be compared. Off by default, which keeps the input's order.
- `text` (string, required): The document to convert: YAML when direction is yaml-to-json, JSON when it is json-to-yaml. A YAML file holding several --- documents becomes a JSON array.

### `ascii_table` (~192 tokens)

ASCII Table

The full ASCII table, with the control codes explained rather than left blank. A HelpySelf tool (helpyself.com).

Input parameters:

- `includeExtended` (boolean): Also include codes 128 to 255, read as ISO-8859-1 (Latin-1). ASCII proper stops at 127, so a search for a higher code finds nothing unless this is true.
- `search` (string): What to look up: a single character ("A"), a decimal code ("65"), hex ("0x41", "U+0041", "\x41"), binary ("0b01000001"), octal ("0o101"), an HTML entity ("&amp;"), an abbreviation ("LF") or part of a…

### `binary_translator` (~218 tokens)

Binary Translator

A binary translator both ways — binary to text, text to binary, hex and decimal too. A HelpySelf tool (helpyself.com).

Input parameters:

- `input` (string, required): Plain text, or bytes written as binary, hex, decimal or octal. Groups may be separated by spaces or commas; hex also accepts 0x prefixes and unspaced pairs. Every other representation of the same byt…
- `readAs` (string): How to read input. auto (the default) works it out: only 0s and 1s in whole bytes is binary, hex digits with a letter or 0x is hex, several zero-padded pairs is hex, several numbers up to 255 is deci…

### `compress_to_size` (~208 tokens)

Compress Image to Size

Compress image to 100KB, 1MB, or whatever exact size the form demands. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The image file itself, base64-encoded (no data: prefix). The result's data is the compressed file in the same encoding.
- `name` (string): The file name, echoed back in the response so a caller can keep it with the result. It does not decide the format; type does.
- `targetKb` (integer, required): The size the output must not exceed, in kilobytes of 1,024 bytes, as upload limits mean it. The highest quality that fits is found by re-encoding; if none does, the response says so and suggests a sc…
- `type` (string, required): The MIME type of the bytes in data. A JPEG is re-encoded as JPEG; PNG and WebP input both come back as WebP.

### `cron_expression` (~210 tokens)

Cron Expression Parser

Read a cron expression in plain English, and see exactly when it will next run. A HelpySelf tool (helpyself.com).

Input parameters:

- `count` (integer): How many upcoming runs to list, strictly after now, each as a wall-clock ISO string without an offset plus a readable form. Defaults to 5.
- `expression` (string, required): A five-field crontab expression (minute, hour, day of month, month, day of week) such as '*/15 9-17 * * MON-FRI', or a shorthand like @daily or @hourly. Names, ranges, lists and steps are accepted; Q…
- `timezone` (string): The IANA time zone the schedule is read in, such as Europe/Copenhagen. Cron means wall-clock time, so the run times change with it. Defaults to UTC, and an unrecognised name falls back to UTC.

### `gradient_generator` (~225 tokens)

CSS Gradient Generator

A CSS gradient generator for linear, radial and conic — copy the code straight out. A HelpySelf tool (helpyself.com).

Input parameters:

- `angle` (number): Degrees, normalised to 0-359. For linear it is the direction the gradient runs, 0 pointing up and 180 down; for conic it is where the sweep starts. Ignored for radial.
- `repeating` (boolean): Emit the repeating-* variant, which tiles the gradient over the box instead of stretching it once. Only visible when the stops have explicit positions short of 100.
- `shape` (string): For radial gradients only: 'circle' keeps the rings round, 'ellipse' stretches them to the box. Ignored for linear and conic.
- `stops` (array, required): The colours in order, from 2 to 16 of them.
- `type` (string): The kind of CSS gradient: 'linear' runs in a straight line at the angle, 'radial' spreads out from the centre, 'conic' sweeps round the centre.

### `favicon_generator` (~113 tokens)

Favicon Generator

A favicon generator that turns any image into a complete set. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The source image as base64. A square image works best; a non-square one is cropped to a centred square before the sizes are made.
- `name` (string): The source file's name. Informational only; the outputs use fixed favicon names.
- `type` (string, required): The MIME type of the source image: image/jpeg, image/png or image/webp.

### `hash_generator` (~102 tokens)

Hash Generator

A hash generator for SHA-1, SHA-256, SHA-384 and SHA-512. A HelpySelf tool (helpyself.com).

Input parameters:

- `algorithms` (array): Which digests to compute, from SHA-1, SHA-256, SHA-384, SHA-512. One hex digest comes back per algorithm named.
- `text` (string, required): The text to hash. It is encoded as UTF-8 before hashing, exactly as given.

### `jwt_decoder` (~82 tokens)

JWT Decoder

A JWT decoder that inspects JSON Web Tokens safely. A HelpySelf tool (helpyself.com).

Input parameters:

- `token` (string, required): The JWT to decode: three base64url parts joined by dots. A leading 'Bearer ' is stripped. The header and payload are decoded and the signature is returned as is; nothing is verified, and the result s…

### `mic_test` (~97 tokens)

Mic Test

A microphone test that answers the real question — will they hear me? A HelpySelf tool (helpyself.com).

Input parameters:

- `samples` (array, required): A block of decoded mono audio samples, each between -1 and 1. Loudness (RMS), peak and the verdict are judged over the whole block, so send a stretch of speech rather than a single frame; a peak at o…

### `morse_code_translator` (~171 tokens)

Morse Code Translator

A morse code translator both ways — text to morse code, and morse code to text. A HelpySelf tool (helpyself.com).

Input parameters:

- `direction` (string): Which way to translate. "auto" decodes when the input is nothing but dots, dashes, spaces and slashes, and encodes otherwise; "toMorse" and "toText" force one direction. Anything with no morse equiva…
- `text` (string, required): Plain text to turn into morse, or morse to turn back into text. Morse is dots and dashes with a space between letters and a slash (or two spaces) between words; middle dots and en or em dashes are ac…

### `duplicate_line_remover` (~304 tokens)

Remove Duplicate Lines

Remove duplicate lines, blanks and stray spaces from a list in one pass. A HelpySelf tool (helpyself.com).

Input parameters:

- `caseSensitive` (boolean): Treat Apple and apple as different lines. Off by default, so they count as the same line and only the kept one survives.
- `keep` (string): Which occurrence of a repeated line survives: 'first' keeps it where it first appeared, 'last' keeps it at its final position. Defaults to first.
- `onlyDuplicates` (boolean): Invert the tool: return only the lines that appeared more than once, one entry each in order of first appearance, and leave the unique lines out. Off by default.
- `removeBlank` (boolean): Drop empty lines entirely rather than keeping one of them. On by default.
- `sort` (string): Order of the output: 'none' keeps the input order, 'asc' and 'desc' sort alphabetically with locale-aware, numeric-aware comparison (item2 before item10), 'length' sorts shortest line first. Defaults…
- `text` (string, required): The lines to de-duplicate, separated by any line ending. The result is the text with repeats removed, in the original order unless sort says otherwise, plus counts of what was dropped.
- `trimLines` (boolean): Strip whitespace from both ends of every line before comparing and before output. On by default. Off, trailing spaces make two lines different.

### `screen_recorder` (~307 tokens)

Screen Recorder

Record your screen in the browser — nothing is uploaded anywhere A HelpySelf tool (helpyself.com).

Input parameters:

- `frameRate` (number): Frames per second to capture at. Bitrate scales with it, and 30 is enough for screen content, which changes little between frames.
- `height` (integer, required): Height of the area being recorded, in pixels.
- `quality` (string): How much data to spend, as bits per pixel per frame: "high" is 0.10 and keeps text crisp at 1080p, "balanced" is 0.05 with readable text and slight banding, "small" is 0.02 for a long recording that…
- `seconds` (number): The planned length of the recording, in seconds, used only to estimate the file size and to say whether it is past the point where a browser tab runs out of memory (about 512 MB held in the tab). The…
- `width` (integer, required): Width of the area being recorded, in pixels. Bitrate scales with the pixel count, so a shared window costs far less than a full 4K screen.
- `withAudio` (boolean): Whether the recording carries an audio track. True adds a fixed 128 kbit/s of Opus to the size estimate and shortens the safe duration accordingly.

### `sleep_calculator` (~221 tokens)

Sleep Calculator

A sleep calculator that works backwards from when you have to be up. A HelpySelf tool (helpyself.com).

Input parameters:

- `cycleMinutes` (integer): Length of one sleep cycle in minutes. 90 is the adult average; real cycles run roughly 70 to 120 and differ between people.
- `fallAsleepMinutes` (integer): Minutes spent falling asleep after going to bed, subtracted from a bedtime or added to a wake time. Defaults to 15.
- `time` (string, required): A 24-hour clock reading with a colon, such as "07:30" or "23:15". No date or time zone is involved. "7.30" or "7:30 pm" is refused.
- `timeIs` (string): What time is: "wake" means it is the alarm and bedtimes are returned, most sleep first; "bedtime" means it is when you go to bed and wake times are returned, earliest first. 4 options come back, for…

### `subnet_calculator` (~124 tokens)

Subnet Calculator

A subnet calculator that gets /31 and /32 right, which most do not. A HelpySelf tool (helpyself.com).

Input parameters:

- `network` (string, required): An IPv4 address with a prefix length ("192.168.1.10/24"), an address and a dotted mask separated by a space ("10.0.0.1 255.0.0.0"), or a bare address, which is read as /24. Octets with leading zeros…

### `svg_minifier` (~344 tokens)

SVG Minifier

An SVG minifier that strips editor clutter and scripts, without touching the artwork. A HelpySelf tool (helpyself.com).

Input parameters:

- `collapseWhitespace` (boolean): Remove whitespace between tags and collapse runs of it inside them. The content of text, style, title and desc elements is left as it is.
- `precision` (integer): Decimal places kept on coordinates and other numeric attributes; -1 leaves numbers untouched. Two is enough for an icon and is where most of the saving comes from.
- `removeComments` (boolean): Strip <!-- --> comments.
- `removeMetadata` (boolean): Strip <metadata>, Inkscape and Sodipodi elements, attributes and namespace declarations: editor bookkeeping that draws nothing.
- `removeScripts` (boolean): Strip <script> elements, on* event handlers, javascript: links and the <a> elements around them, so the output is safe to serve as a file. On by default.
- `removeTitleDesc` (boolean): Strip <title> and <desc>. Off by default because they are the accessible name and description a screen reader reads out.
- `removeUnusedIds` (boolean): Drop id attributes nothing inside the file refers to. Off by default because CSS or JavaScript in the embedding page may target them, which cannot be checked here.
- `removeXmlDeclaration` (boolean): Strip the <?xml ?> declaration, any DOCTYPE and the editor's Generator comment.
- `shortenColours` (boolean): Shorten six-digit hex colours that can be written in three: #ffffff becomes #fff.
- `text` (string, required): The SVG source as text. Anything without an <svg> element is refused.

### `timezone_converter` (~188 tokens)

Time Zone Converter

A time zone converter and world clock — one time, every city at once. A HelpySelf tool (helpyself.com).

Input parameters:

- `date` (string, required): The calendar date on the wall clock in fromZone, as YYYY-MM-DD.
- `fromZone` (string, required): IANA zone name the date and time are read in, e.g. "America/New_York". Abbreviations such as EST or CST are not accepted, since they are ambiguous.
- `time` (string, required): The wall-clock time in fromZone, 24-hour, as HH:MM. A time the clocks skip is moved forward and flagged; one that happens twice is read as the first.
- `toZones` (array, required): IANA zone names to read the same moment in. Each comes back with its own date, time, abbreviation, UTC offset and whether it is a day ahead or behind.

### `typing_test` (~164 tokens)

Typing Test

A typing speed test that shows both your raw and your real WPM. A HelpySelf tool (helpyself.com).

Input parameters:

- `elapsedMs` (integer, required): Time taken, in milliseconds. Words per minute counts five characters as a word; 0 scores 0 wpm rather than dividing by zero.
- `includeCharacters` (boolean): Also return a verdict for every character of target: correct, incorrect or pending. Off by default because it is thousands of strings for a minute of typing.
- `target` (string, required): The passage the person was supposed to type. Compared against typed character by character, position by position.
- `typed` (string, required): What was actually typed, exactly as entered. Shorter than target is fine; the untyped rest counts as pending.

### `webcam_test` (~322 tokens)

Webcam Test

A webcam test that tells you what the other end will actually see A HelpySelf tool (helpyself.com).

Input parameters:

- `blownFraction` (number): Fraction of the frame burnt out to white, 0 to 1, if measured yourself. Ignored when pixels is given. This is what tells a backlit subject from a well-lit one.
- `brightness` (number): Average brightness of the frame, 0 (black) to 1 (white), if measured yourself. Ignored when pixels is given.
- `frameRate` (number): Frames per second, if already known. Omit it and pass frameTimestampsMs to have it measured; omit both and smoothness comes back null.
- `frameTimestampsMs` (array): Arrival times of consecutive frames, in milliseconds. Needs at least two; the rate is derived from first to last rather than from any single gap. Ignored when frameRate is given.
- `height` (integer, required): Frame height in pixels.
- `pixels` (array): One frame as RGBA bytes, four values per pixel, 0-255, as a canvas getImageData returns them; the length must be a multiple of four. Used to measure brightness and the blown-out fraction. Send a down…
- `width` (integer, required): Frame width in pixels. With height it decides the resolution grade, judged on the shorter side so portrait counts, and the aspect ratio.

### `case_converter` (~174 tokens)

Case Converter

A text case converter: camelCase, snake_case, kebab-case and more. A HelpySelf tool (helpyself.com).

Input parameters:

- `target` (string): The case to produce: camel (helloWorld), pascal (HelloWorld), snake (hello_world), constant (HELLO_WORLD), kebab (hello-world), title (Hello World, small words like "of" kept lower unless first or la…
- `text` (string, required): The text to convert. It may already be in any case: camelCase, snake_case, kebab-case, acronyms like HTTPServer and digits are all split into words before being rebuilt.

### `regex_tester` (~148 tokens)

Regex Tester

A regex tester for regular expressions, run safely against your own text. A HelpySelf tool (helpyself.com).

Input parameters:

- `flags` (string): The standard JavaScript flags as one string, such as "gi". The default "g" returns every match; without it only the first match is returned.
- `pattern` (string, required): A JavaScript regular expression, bare, without surrounding slashes; flags go in flags. At most 500 characters, which is shorter than the page allows.
- `text` (string, required): The text to run the pattern against, at most 20000 characters. Matches are returned with their index and capture groups, and stop after 1000.

### `timestamp_converter` (~151 tokens)

Timestamp Converter

A Unix timestamp converter — timestamps to dates, and dates back to timestamps. A HelpySelf tool (helpyself.com).

Input parameters:

- `timeZone` (string): IANA zone name, e.g. "Europe/Copenhagen", used for the local reading and the day of the week. Defaults to UTC, and an unknown name falls back to UTC rather than failing.
- `value` (string, required): A Unix timestamp or a date. A bare number is read as seconds, or as milliseconds once it reaches 100000000000 (1e11); negative means before 1970. Anything else is parsed as a date string such as 2026…

### `color_converter` (~112 tokens)

Colour Converter

A colour converter: HEX to RGB, RGB to HEX, and either to HSL. A HelpySelf tool (helpyself.com).

Input parameters:

- `color` (string, required): The colour to convert, in any CSS form: #rgb, #rrggbb, #rrggbbaa, rgb()/rgba(), hsl()/hsla() or a colour name like teal. It comes back as hex, rgb and hsl, with the channels as numbers and a black-or…

### `contrast_checker` (~173 tokens)

Contrast Checker

A colour contrast checker for WCAG accessibility levels. A HelpySelf tool (helpyself.com).

Input parameters:

- `background` (string, required): The colour behind the text, in the same forms as foreground.
- `foreground` (string, required): The text colour, as hex, rgb(), hsl() or a CSS colour name. A translucent colour is composited over the background before the ratio is taken.
- `suggest` (boolean): Also return a suggestion: the foreground nudged lighter or darker until it clears target, as hex, or null if even black or white would not. Off by default.
- `target` (number): The contrast ratio the suggestion must reach. Only used when suggest is true. 4.5 is WCAG AA for normal text, 3 is AA for large text, 7 is AAA.

### `json_formatter` (~173 tokens)

JSON Formatter

A JSON formatter that validates and beautifies instantly — or minifies. A HelpySelf tool (helpyself.com).

Input parameters:

- `action` (string): 'format' pretty-prints with the indent given; 'minify' strips all whitespace into one line; 'validate' only checks that it parses and returns the text unchanged.
- `indent`: Spaces per nesting level when formatting, or 'tab' for one tab per level. 0 gives no indentation. Ignored by minify and validate.
- `json` (string, required): The JSON text to work on. Invalid JSON comes back as an error naming where parsing failed.
- `sortKeys` (boolean): Sort object keys alphabetically at every level when formatting, so two documents can be compared. Arrays keep their order. Ignored by minify and validate.

### `slug_generator` (~216 tokens)

Slug Generator

A slug generator that turns any title into a clean URL slug. A HelpySelf tool (helpyself.com).

Input parameters:

- `expandDiacritics` (boolean): Write letters that romanise as two characters that way: ø to oe, æ to ae, å to aa, ü to ue, ß to ss. False uses the nearest single letter instead: ø to o, ß to s.
- `lowercase` (boolean): Lower-case the result. False keeps the capitals of the input.
- `maxLength` (integer): Longest slug allowed, in characters; 0 means no limit. A slug is cut at the last separator inside the limit, so a word is never cut in half.
- `separator` (string): The character put between words. Hyphens are what search engines expect.
- `text` (string, required): The title or phrase to turn into a URL slug. Accents are stripped, & becomes "and", apostrophes are dropped, and every other non-alphanumeric run becomes one separator.

### `text_diff` (~153 tokens)

Text Diff

A diff checker for text — compare two versions and see exactly what changed, line by line. A HelpySelf tool (helpyself.com).

Input parameters:

- `changed` (string, required): The later version, compared against original. Lines only in it are reported as insertions; lines only in original as deletions.
- `ignoreCase` (boolean): Treat lines that differ only in letter case as equal. The reported lines keep their original case.
- `ignoreWhitespace` (boolean): Treat lines as equal when they differ only in leading, trailing or repeated whitespace, so an indentation change no longer counts as a change.
- `original` (string, required): The earlier version of the text. Compared line by line, split on newlines.

### `image_compressor` (~262 tokens)

Image Compressor

Compress a JPEG, PNG or WebP to a smaller file, choosing quality or a target size. AVIF, HEIC, TIFF and BMP are browser-only and not accepted here. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The image file as base64, in the format given by type.
- `format` (string): The output format. 'auto' always means WebP, which is usually the smallest. If the result would be no smaller than the input at the same size, the original bytes are returned unchanged.
- `maxEdge` (integer): Shrink the image so its longer side is at most this many pixels, keeping the aspect ratio. Smaller images are left at their size; omit it to keep the dimensions.
- `name` (string): The source filename, echoed back as the result's name.
- `quality` (number): Encoder quality from 0.1 to 1 for JPEG and WebP output; lower means a smaller, softer file. PNG is lossless and ignores it.
- `type` (string, required): The MIME type of the source image: image/jpeg, image/png or image/webp. HEIC, AVIF, TIFF and BMP are not accepted over the API.

### `lorem_ipsum` (~137 tokens)

Lorem Ipsum Generator

A lorem ipsum generator for placeholder text in mockups and layouts. A HelpySelf tool (helpyself.com).

Input parameters:

- `count` (integer): How many of `unit` to generate, up to 100. Three paragraphs when omitted.
- `startWithLorem` (boolean): Open with the familiar "Lorem ipsum dolor sit amet, consectetur adipiscing elit". Off, and every word is drawn at random from the start.
- `unit` (string): What `count` counts. Paragraphs hold three to six sentences each and are separated by a blank line; sentences run on in one block; words come back as a single sentence.

### `qr_generator` (~273 tokens)

QR Code Generator

A QR code generator for any link or text — download it as SVG or PNG. A HelpySelf tool (helpyself.com).

Input parameters:

- `dark` (string): Colour of the modules as a six-digit hex code, such as #000000.
- `errorCorrection` (string): How much of the code may be damaged or covered and still scan: L about 7%, M 15%, Q 25%, H 30%. Higher levels make a denser code for the same text.
- `light` (string): Background colour as a six-digit hex code. Keep it much lighter than `dark`; scanners expect dark modules on a light ground.
- `margin` (integer): Quiet zone around the code, in modules (the small squares), not pixels. The QR spec recommends 4; less and some scanners fail to lock on.
- `size` (integer): Declared width and height of the SVG in pixels. The output is vector, so it scales cleanly; this mainly matters when the SVG is rasterised as-is.
- `text` (string, required): What the code should contain: a URL, plain text or any other string. Surrounding whitespace is trimmed. QR codes hold about 2,000 characters at most, and the denser the content the harder the code is…

### `uuid_generator` (~79 tokens)

UUID Generator

A UUID generator for random v4 identifiers, instantly. A HelpySelf tool (helpyself.com).

Input parameters:

- `count` (integer): How many UUIDs to return, 1 to 500. They come back as an array either way.
- `uppercase` (boolean): Return the hex digits in upper case. The hyphens are unaffected.

### `pdf_page_numbers` (~329 tokens)

Add Page Numbers to PDF

Add page numbers to a PDF — starting where you want, skipping the pages that should stay clean. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The PDF to number, base64-encoded. A data: URL prefix is stripped.
- `format` (string): How the label reads. plain writes "3", of writes "3 of 20", page-of writes "Page 3 of 20". The total counts numbered pages rather than sheets, so an extract of three pages starting at 47 reads "47 of…
- `from` (integer): The first sheet to print a number on, counted from 1. Sheets before it are left clean, so passing 3 skips a title page and a contents page.
- `margin` (number): Distance from the page edge to the number, in points (1/72 inch). 28 when omitted, about a centimetre.
- `name` (string): Base name for the output file; a .pdf ending is dropped and the response names it <name>-numbered.pdf.
- `position` (string): Where the number sits on each page: bottom-centre, bottom-right, bottom-left, top-right or top-centre. `margin` is measured in from those edges.
- `size` (number): Font size of the number in points. 10 when omitted.
- `startAt` (integer): The number printed on the first numbered sheet; later sheets count up from it. 1 by default; an extract from a longer bundle might start at 47.

### `age_calculator` (~144 tokens)

Age Calculator

An age calculator: your exact age in years, months and days, from a date of birth. A HelpySelf tool (helpyself.com).

Input parameters:

- `asOf` (string): The date to measure the age at, YYYY-MM-DD. Omitted, the server's own UTC date is used, which can be a day out for the caller near midnight, so pass it when the exact day matters. Must not be before…
- `birth` (string, required): Date of birth as YYYY-MM-DD. Read as a calendar date with no time zone, so the answer is the same wherever it is asked from.

### `app_background_preview` (~384 tokens)

App Background Preview

Find the app background image size that survives on every phone and tablet. A HelpySelf tool (helpyself.com).

Input parameters:

- `devices` (array): Which device shapes to check. Omitted or empty, every device is checked. Each id is one aspect ratio standing for all the models that share it; the response names those models. The safe area is the i…
- `height` (integer, required): Height of the artwork in pixels, paired with width.
- `kinds` (array): Narrow the check to phones, tablets or foldables. Omitted or empty, all three are included. Applied on top of devices, so the two filters compose. Leaving foldables in when you do not ship to one shr…
- `mode` (string): How the platform scales the image onto the screen. fill scales until both axes are covered and crops the overflow, centred; fit shows the whole image with empty bars (letterboxed); stretch shows the…
- `orientations` (array): Which orientations to check each device in. Omitted or empty, both portrait and landscape are checked, and both feed the safe-area intersection.
- `respectInsets` (boolean): When true, the safe area is taken over the part of each screen not covered by the status bar, notch or home indicator, so it is safe from being covered as well as from being cropped. False (the defau…
- `width` (integer, required): Width of the artwork in pixels. Only the width-to-height ratio affects the crop, so any resolution with the same shape gives the same answer; the rectangles in the response are in these pixels.

### `average_calculator` (~118 tokens)

Average Calculator

A mean median mode calculator, with standard deviation and the spread. A HelpySelf tool (helpyself.com).

Input parameters:

- `numbers` (string, required): The list of numbers as one string, separated by commas, spaces, line breaks or anything else that is not a digit, sign or decimal point. Use a decimal point, never a decimal comma: "1,5" is read as t…

### `business_days` (~191 tokens)

Business Days

Count forward or back a number of working days and see where you land. A HelpySelf tool (helpyself.com).

Input parameters:

- `days` (integer, required): How many working days (Monday to Friday, minus holidays) to move. Positive counts forward, negative counts back; zero is refused. More than 5200 either way is refused as too far.
- `holidays` (array): Dates to skip in addition to Saturdays and Sundays, YYYY-MM-DD each. No public holidays are assumed for any country, so pass the ones that apply. Omitted, only weekends are skipped. Those that fell o…
- `startDate` (string, required): The date to count from, YYYY-MM-DD. Counting begins the day after it, so one working day from a Friday is the Monday. It may itself be a weekend or holiday; the response says whether it was a working…

### `checksum_verifier` (~164 tokens)

Checksum Verifier

A checksum verifier: paste the published SHA-256 and check your download matches. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The file's bytes, base64-encoded. They are hashed with whichever algorithm expected implies and compared; the response is a match boolean plus both digests.
- `expected` (string, required): The published checksum, pasted as found: bare hex in either case, a whole SHA256SUMS line with the filename, a sha256: prefix as registries use, or a sha256-<base64> integrity value. The algorithm (S…

### `compare_two_lists` (~210 tokens)

Compare Two Lists

Compare two lists and see what is only in one, only in the other, and in both. A HelpySelf tool (helpyself.com).

Input parameters:

- `ignoreBlank` (boolean): Drop empty lines rather than counting them as entries. On by default; off, a blank line on both sides shows up under both.
- `ignoreCase` (boolean): Treat Alice and alice as the same entry. On by default. The output keeps whichever spelling appeared first rather than lower-casing it.
- `listA` (string, required): The first list, one entry per line. Order does not matter: each side is treated as a set, and the answer is what is only in A, only in B, and in both.
- `listB` (string, required): The second list, one entry per line, compared against listA the same way.
- `trim` (boolean): Ignore space at either end of a line when comparing, so 'Alice ' and 'Alice' match. On by default.

### `compound_interest` (~279 tokens)

Compound Interest

A compound interest calculator with regular deposits and any compounding frequency. A HelpySelf tool (helpyself.com).

Input parameters:

- `amount` (number, required): The opening balance, in whatever currency the caller is thinking in. It is counted as contributed money, so it never appears as interest.
- `contributeAtStart` (boolean): Pay each contribution at the start of its period rather than the end, so it earns that period's interest. Off by default, which is the smaller answer.
- `contribution` (number): An amount paid in every compounding period, not every month or year: with daily compounding it is paid 365 times a year. Omitted or 0 means nothing is added.
- `frequency` (string): How often interest is added to the balance: 1, 4, 12 or 365 times a year. Defaults to monthly. More frequent compounding gives a slightly higher effective rate.
- `rate` (number, required): The nominal annual interest rate as a percentage: 5 means 5%. It is divided by the number of compounding periods a year, so the effective annual rate is returned too.
- `years` (number, required): How long the money is left to grow, in years. Fractions are allowed and rounded to whole compounding periods. One row per year comes back for a table or chart.

### `date_difference` (~135 tokens)

Date Difference

How many days between two dates — plus weeks, months and working days. A HelpySelf tool (helpyself.com).

Input parameters:

- `fromDate` (string, required): The first date as YYYY-MM-DD, usually the earlier one. The answer gives years, months and days, the gap in days, the span counting both ends, whole weeks, and Monday-to-Friday working days (public ho…
- `toDate` (string, required): The other date as YYYY-MM-DD. It may be earlier than fromDate: the difference is counted between the two whichever way round, and direction in the response says forward, backward or same.

### `days_until_christmas` (~186 tokens)

Days Until Christmas

How many days until Christmas — counted in sleeps, not hours, and right across time zones. A HelpySelf tool (helpyself.com).

Input parameters:

- `day` (integer): The day of the month. Defaults to the 25th. A day the month never has (30 February) is refused; 29 February counts to the next leap year. Whole calendar days are counted, the day itself is 0, and a d…
- `month` (integer): The month of the occasion, 1 to 12. Defaults to December. Pass month and day together to count to any yearly date, such as a birthday.
- `today` (string): The date to count from, as YYYY-MM-DD in the caller's own calendar. Defaults to today in UTC. The response repeats the date it counted from as countedFrom.

### `fraction_calculator` (~131 tokens)

Fraction Calculator

A fraction calculator for adding, subtracting, multiplying and dividing — exactly. A HelpySelf tool (helpyself.com).

Input parameters:

- `fractionA` (string, required): The left operand as text: a fraction '3/4', a mixed number '2 3/4' or a whole number '5'. Negative values are allowed; decimals are not.
- `fractionB` (string, required): The right operand, in the same forms as fractionA. Dividing by zero is refused.
- `operator` (string, required): The arithmetic to apply: add, subtract, multiply or divide fractionA by fractionB.

### `fuel_cost_calculator` (~290 tokens)

Fuel Cost Calculator

A fuel cost calculator for any drive — your units, your currency, split however you like. A HelpySelf tool (helpyself.com).

Input parameters:

- `consumption` (number, required): The vehicle's fuel consumption, in the unit given by consumptionUnit. Note that for mpg a higher number means less fuel, for l/100km more.
- `consumptionUnit` (string): The unit consumption is given in: 'l100km' litres per 100 km, 'mpgUk' miles per imperial gallon, 'mpgUs' miles per US gallon, 'kml' kilometres per litre.
- `distance` (number, required): The length of the journey one way, in the unit given by distanceUnit.
- `distanceUnit` (string): The unit distance is given in: 'km' kilometres or 'mi' miles.
- `people` (integer): How many people share the cost. The total is divided equally between them.
- `price` (number, required): The price of fuel per unit given by priceUnit, in any currency. The result comes back in the same currency, unconverted.
- `priceUnit` (string): The unit the price is per: 'litre', 'gallonUk' (4.546 l) or 'gallonUs' (3.785 l).
- `returnTrip` (boolean): Double the distance to cover the journey back as well.

### `gif_compressor` (~234 tokens)

GIF Compressor

Compress a GIF by the only three things a GIF has — frames, colours and size. Nothing uploaded. A HelpySelf tool (helpyself.com).

Input parameters:

- `colours` (integer): Colours in each frame's palette, one of 256, 128, 64, 32, 16. Fewer colours make a smaller file at the cost of banding in gradients.
- `gif` (string, required): The animated or still GIF file as base64. The result is also a GIF.
- `keepEvery` (integer): Drop frames to shrink the file: 1 keeps every frame, 2 keeps every second one, 3 every third. Each kept frame takes on the delay of the frames dropped after it, so the animation runs for the same tim…
- `name` (string): The input filename. The result is named after it with '-small.gif' appended to the stem.
- `scale` (number): A size factor per edge, 1 being the original size. Over the API only 1 is accepted; any other value is refused, because scaling happens in the browser tool alone.

### `gpa_calculator` (~65 tokens)

GPA Calculator

A GPA calculator on the 4.0 scale, weighted by the credits each course is worth. A HelpySelf tool (helpyself.com).

Input parameters:

- `courses` (array, required): The courses to average. The GPA is the credit-weighted mean of their grade points.

### `loan_calculator` (~146 tokens)

Loan Calculator

A loan calculator for the monthly payment, and how much of it is interest. A HelpySelf tool (helpyself.com).

Input parameters:

- `amount` (number, required): The principal borrowed, in whatever currency you are working in. Every figure in the answer is in the same units.
- `rate` (number, required): Nominal annual interest rate as a percentage, so 5.5 means 5.5% a year. 0 is a real case: an interest-free loan repaid in equal instalments.
- `years` (number, required): Length of the loan in years. Fractions are allowed and rounded to whole months, so 2.5 is 30 monthly payments.

### `game_collection` (~226 tokens)

My Video Game Collection

Know what you own, share the list, and stop buying games you already have. A HelpySelf tool (helpyself.com).

Input parameters:

- `console` (string): The console the list is for, by its usual name ('PS2', 'SNES', 'Mega Drive', 'Game Boy Advance'); matching ignores case. It narrows the game search when adding. A name not on the known list is refuse…
- `folderId` (string): The id of one of the caller's own folders to file the list under. An unknown id, or another account's folder, is refused.
- `name` (string, required): The list's title, in the collector's own words: 'PS2 for sale', 'Boxed SNES'.
- `note` (string): A line shown under the title: what the list is for, or what its prices mean.
- `shared` (boolean): Whether the public share link works for anybody who has it. Off by default, so the list is private to its owner until this is set.

### `percentage_calculator` (~195 tokens)

Percentage Calculator

A percentage increase calculator — and the other three sums people mean. A HelpySelf tool (helpyself.com).

Input parameters:

- `a` (number, required): The first number, as a plain number with no % sign: the percentage in of, the part in what, the starting value in change and adjust.
- `b` (number, required): The second number, as a plain number: the whole in of and what, the end value in change, the percentage to change by in adjust.
- `mode` (string, required): Which sum to do. of: a percent of b (15, 80 gives 12). what: a as a percentage of b (12, 80 gives 15). change: the percentage change from a to b, measured against a (80, 92 gives up 15). adjust: a ch…

### `random_team_generator` (~156 tokens)

Random Team Generator

A random team generator — paste a list of names and split it into fair teams. A HelpySelf tool (helpyself.com).

Input parameters:

- `count` (integer): The number of teams, or the people per team, depending on mode. Names are dealt round-robin after a shuffle, so team sizes never differ by more than one.
- `mode` (string): What count means. "teams": make that many teams. "size": make teams of that many people, with the last team taking the remainder rather than anyone being left out.
- `names` (string, required): The people to deal out, one name per line. Lines are trimmed and blank lines are dropped, so a pasted spreadsheet column works as it is.

### `ratio_calculator` (~187 tokens)

Ratio Calculator

A ratio calculator: reduce to lowest terms, or find the missing number. A HelpySelf tool (helpyself.com).

Input parameters:

- `left` (number, required): The left side of the ratio, the a in a:b. Decimals are allowed and are scaled to whole numbers before reducing, so 2.5:1 simplifies to 5:2 rather than rounding to 3:1.
- `right` (number, required): The right side of the ratio, the b in a:b. A zero side is refused as not a ratio.
- `scaleTo` (number): A new left-hand value to solve for: given, the answer is the c in a:b = scaleTo:c, returned as solved.value with a whole flag, since 16:9 at 1000 wide is 562.5 and is not rounded. Omitted, the ratio…

### `regex_explainer` (~88 tokens)

Regex Explainer

A regex explainer: paste a pattern and read what every part of it does, in English. A HelpySelf tool (helpyself.com).

Input parameters:

- `pattern` (string, required): A JavaScript regular expression to explain, either bare or as /pattern/flags. It is read, never run, so a pattern that would not compile is still explained, with the problems listed alongside.

### `request_a_file` (~135 tokens)

Request a File

Request files with a link — they upload to you, with no account and no ads. A HelpySelf tool (helpyself.com).

Input parameters:

- `days` (integer): How many days a request link would stay open for uploads, at most 30; there is no permanent option. This call only describes such a link and creates nothing; creating one is a separate, signed-in POS…
- `maxFiles` (integer): How many files the link would accept before closing itself, at most 100. Each file is also capped at what the owner's own plan allows and counts against their storage.

### `roman_numerals` (~101 tokens)

Roman Numerals

A Roman numeral converter — numbers to numerals, and numerals back to numbers. A HelpySelf tool (helpyself.com).

Input parameters:

- `numeral` (string, required): Either a Roman numeral ("MCMXCIV") or a whole number from 1 to 3999 ("1994"); the direction is worked out from what is given. Loose forms like IIII are read and reported with strict false, and the st…

### `salary_calculator` (~220 tokens)

Salary Calculator

A salary calculator that goes hourly to annual and back — the same pay written every way, before tax. A HelpySelf tool (helpyself.com).

Input parameters:

- `amount` (number, required): The gross pay figure you already know, in any currency; no tax or deductions are applied. It is converted to all five periods using the working pattern below.
- `daysPerWeek` (number): Days worked in a normal week, used for the daily figure. Defaults to 5.
- `hoursPerWeek` (number): Hours worked in a normal week, used to turn an hourly rate into a weekly one and back. Defaults to 37.5; 40 is usual in the US.
- `period` (string, required): Which period amount covers. A month is always a twelfth of a year, never 4.33 weeks.
- `weeksPerYear` (number): Weeks paid in a year, used to turn a weekly figure into an annual one and back. Defaults to 52; use 52.18 to count the odd days.

### `send_a_secret` (~291 tokens)

Send a Secret

Send a password securely by link that self-destructs after one read. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The secret as base64-encoded AES-GCM ciphertext, encrypted by the caller before sending. Never plaintext: the server stores this without being able to read it, and the decryption key must be appended…
- `iv` (string, required): The base64-encoded AES-GCM initialisation vector used to encrypt data. Not secret; it is stored beside the ciphertext so the recipient can decrypt.
- `keyProof` (string): Base64-encoded SHA-256 digest of the password-derived key, letting the server check a password attempt without ever holding the password or the key. Omit it when there is no password.
- `lifetime` (string): How long the stored ciphertext lives if nobody opens it: 1h, 24h, 7d. It is also destroyed on first read, and there is no permanent option. Each call stores a new secret and returns a new link, so ca…
- `salt` (string): The base64-encoded salt the password-derived key was made with. Give it only when the secret is additionally locked with a password; omit it otherwise.

### `share_file` (~418 tokens)

Share a File

Send large files by link, with an expiry date and an optional password. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The file's bytes, base64-encoded, at most 35000000 characters (three quarters of that in bytes). The file is stored in the caller's account, counts against its storage quota, and must be within the p…
- `duration` (string): How long the link works for anyone who has it: 1h, 24h, 7d, 30d, 90d, 1y. The 90d and 1y options are Pro durations; there is no permanent one, and a link never outlives the stored file. Each call sto…
- `message` (string): A short note shown beside the file to whoever opens the link. Plain text: line breaks are collapsed, it is shortened, and URLs in it are not made clickable.
- `name` (string, required): The filename, with extension, that the recipient sees and downloads. Cleaned of unsafe characters before storage.
- `password` (string): A password the recipient must type to open the link, at least 4 characters. Only a salted hash is stored. Omit it, or send an empty string, for no password.
- `screen` (boolean): Have a model check the image for explicit content before the link is made. Images only, costs one AI credit from the caller's monthly allowance, and if the image is judged explicit no link is created…
- `senderName` (string): Who the file is from, shown as a heading to whoever opens the link. Plain text: trimmed, shortened, and never turned into a link.
- `type` (string): The file's MIME type, such as "image/png" or "application/pdf". It is served with this type, and only an image type can be screened.

### `sql_formatter` (~210 tokens)

SQL Formatter

An SQL formatter for 16 dialects — paste unreadable SQL, get it laid out, nothing uploaded. A HelpySelf tool (helpyself.com).

Input parameters:

- `dialect` (string): Which database's syntax to parse it as, one of 16 dialects. "sql" is generic standard SQL and is what to use when unsure; "transactsql" is SQL Server and "plsql" is Oracle.
- `indent` (string): What one level of indentation is: "2" or "4" spaces, or "tab".
- `keywordCase` (string): How keywords are written: "upper" gives SELECT, "lower" gives select, "preserve" leaves each keyword as it was typed.
- `linesBetweenQueries` (integer): How many blank lines to leave between statements.
- `sql` (string, required): The SQL to lay out, one or more statements, at most 500000 characters. It is only reformatted: nothing checks that it would run.

### `time_card_calculator` (~162 tokens)

Time Card Calculator

A time card calculator for hours worked, breaks and overtime across a week. A HelpySelf tool (helpyself.com).

Input parameters:

- `overtimeAfter` (number): Weekly hours after which the remaining hours count as overtime. Omitted means no overtime is worked out.
- `overtimeMultiplier` (number): What overtime hours are paid at, as a multiple of rate: 1.5 is the usual. Only matters when overtimeAfter and rate are set; defaults to 1.
- `rate` (number): Pay per hour. Omit it and the result gives hours only, with pay as null.
- `shifts` (array, required): The shifts to total, one entry each. A shift ending before it starts is read as crossing midnight, never as negative.

### `tip_calculator` (~226 tokens)

Tip Calculator

Work out the tip and split the bill into amounts people can actually pay. A HelpySelf tool (helpyself.com).

Input parameters:

- `bill` (number, required): The amount on the bill before any tip, in whatever currency you use. Tax it already contains is handled by taxRate.
- `people` (integer, required): How many ways to split the total. 1 means no split.
- `roundTo` (number): Round each person's share up to this step in the bill's currency: 1 for whole units, 0.5 for halves. 0 or omitted keeps the exact share. Always up, never down.
- `taxRate` (number): Sales tax already included in bill, as a percentage. It is taken off before the tip is worked out, so the tip is on the pre-tax amount. 0 or omitted tips on the whole bill, which is the norm outside…
- `tipPercent` (number, required): The tip as a percentage of the bill, or of the pre-tax amount when taxRate is set: 15 means 15%.

### `utm_builder` (~282 tokens)

UTM Builder

A UTM builder for campaign URLs, with the tagging mistakes caught as you type. A HelpySelf tool (helpyself.com).

Input parameters:

- `campaign` (string): utm_campaign: the campaign name, such as spring-sale.
- `content` (string): utm_content: which link or creative, for telling two links in one campaign apart.
- `id` (string): utm_id: GA4's campaign id, tying the link to a campaign record.
- `medium` (string): utm_medium: the channel, such as cpc, email or social.
- `normalise` (boolean): Lower-case each value and turn spaces into hyphens before building the link. On by default, because inconsistent casing splits one campaign into several in reporting. Off keeps values exactly as give…
- `source` (string): utm_source: where the traffic comes from, as a short name such as google or newsletter. A pasted URL is flagged. Empty or omitted fields are left off the link.
- `term` (string): utm_term: the paid keyword, for search ads.
- `url` (string, required): The destination page. A bare hostname is accepted and assumed https. Any utm_ parameters already on it are replaced and a warning says so; other query parameters and a fragment are kept.

### `vat_calculator` (~141 tokens)

VAT Calculator

Add VAT to a price, or take it back out of one — the sum people get wrong. A HelpySelf tool (helpyself.com).

Input parameters:

- `amount` (number, required): The price. The net (pre-VAT) price when direction is add; the gross (VAT-inclusive) price when it is remove.
- `direction` (string, required): add works out the VAT on a net amount and the gross that results. remove takes a gross amount and divides the VAT back out to find the net and the VAT it contained.
- `rate` (number, required): The VAT rate as a percentage: 25 means 25%. Must be below 100.

### `video_to_gif` (~192 tokens)

Video to GIF

Convert video to GIF — MP4 to GIF in your browser, with the frames you choose. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The video file, base64-encoded; a data: URL prefix is stripped if present. MP4 is what the transformer expects. Roughly 26 MB of video at most.
- `fps` (number): Frames per second of the GIF. fps times seconds is the frame count, capped at 300. Above about 15 the file grows faster than it improves. Defaults to 10.
- `seconds` (number): How many seconds of the clip to use, counted from the start. The rest is discarded. Defaults to 3.
- `width` (integer): Longest edge of the output in pixels, up to 1280; the other edge follows the clip's aspect ratio. Defaults to 480.

### `watermark_pdf` (~293 tokens)

Watermark PDF

Add a watermark to a PDF — DRAFT, CONFIDENTIAL, or a client's name across every page. A HelpySelf tool (helpyself.com).

Input parameters:

- `data` (string, required): The PDF file, base64-encoded; a data: URL prefix is stripped if present.
- `name` (string): The original file name, used to name the output: "report.pdf" comes back as "report-watermarked.pdf". Defaults to document.
- `opacity` (number): How solid the grey text is, 0.05 (barely visible) to 1 (solid). Defaults to 0.15, faint enough to read the page through.
- `pages` (array): Which pages to stamp, as 1-based page numbers. Numbers past the last page are ignored. Omit to stamp every page.
- `position` (string): diagonal runs corner to corner and sizes itself to the page; centre sits in the middle of the page; footer sits just above the bottom edge, clear of a page number. Defaults to diagonal.
- `size` (number): Font size in points for centre and footer; ignored for diagonal, which sizes itself to the page. Defaults to 48 for centre and 12 for footer.
- `text` (string, required): The word or short phrase to stamp on each page, up to 60 characters: DRAFT, CONFIDENTIAL, a client's name.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-helpyself-tools/helpyself#diagnostics

## Score history

- 2026-10-01: 81
- 2026-09-30: 81
- 2026-09-29: 81
- 2026-09-28: 81
- 2026-09-27: 81
- 2026-09-26: 81
- 2026-09-25: 81
- 2026-09-24: 68
- 2026-09-23: 68
- 2026-09-22: 68
- 2026-09-21: 68
- 2026-09-20: 68
- 2026-09-19: 68
- 2026-09-18: 67
- 2026-09-17: 67
- 2026-09-16: 67
- 2026-09-15: 66
- 2026-09-14: 66
- 2026-09-13: 65
- 2026-09-12: 65
- 2026-09-11: 64
- 2026-09-10: 64
- 2026-09-09: 63
- 2026-09-08: 63
- 2026-09-07: 62
- 2026-09-06: 62
- 2026-09-05: 61
- 2026-09-04: 61
- 2026-09-03: 60
- 2026-09-02: 60

## Common questions

### What is the HelpySelf MCP server?

HelpySelf is an MCP server listed in the public MCP registry as com.helpyself/tools. Convert and compress PDFs and images, redact personal data, and run text and data utilities. This page covers its hosted endpoint (https://helpyself.com/mcp).

### Is the HelpySelf MCP server safe to use?

HelpySelf scores 81 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the HelpySelf MCP server expose?

HelpySelf exposes 114 tools: pdf_to_word, word_to_pdf, currency_converter, photo_gallery, pregnancy_calculator, and 109 more. Their descriptions and schemas cost roughly 23,626 tokens of context every time the server is loaded.

### Does the HelpySelf MCP server require authentication?

No. We connected to HelpySelf without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the HelpySelf MCP server still maintained?

HelpySelf is still listed as active in the MCP registry. We last reached this channel on 1 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://helpyself.com/mcp
- Website: https://helpyself.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-helpyself-tools/helpyself.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-helpyself-tools/helpyself.json
- HTML version of this page: https://verifymcp.io/servers/com-helpyself-tools/helpyself
