uk.co.hopi/hopi
uk.co.hopi/hopiFree UK calculators, converters and validators (tax, VAT, stamp duty, dates, units), read-only.
Score: 100/100
Handshake verified by our own probe.
Tools · 218
Add or subtract a number of working days (Monday to Friday) from a start date, optionally skipping England and Wales bank holidays. Dates use the YYYY-MM-DD format. Bank holiday data covers 2026 to 20…
Work out an exact age from a date of birth, as of today or an optional 'as of' date. Dates use the YYYY-MM-DD format. Returns the age in years, months and days, the total days lived, and the next birt…
Build a well-structured prompt to paste into an AI chatbot or image generator. Give the task plus any of: the role the AI should take, background, audience, tone, format, length, things to avoid, an e…
Work out UK alcohol units in a drink from its ABV (percentage) and volume (millilitres), using units = ABV x ml / 1000. Optionally give the number of those drinks per week to get a weekly total compar…
Sort the lines of a block of text into alphabetical order. Blank lines are dropped. Uses natural en-GB ordering so numbers within lines sort sensibly. Can sort ascending (A to Z) or descending (Z to A…
Convert an angle from one unit to another. Units: deg (degrees), rad (radians), grad (gradians), turn (full turns). Source: https://hopi.co.uk/angle-converter/
Convert an area from one unit to another. Units: sqm (square metres), sqft (square feet), sqyd (square yards), acre (acres), ha (hectares), sqkm (square kilometres), sqmi (square miles). Source: https…
Aspect ratio helper. In 'simplify' mode, give width and height to get the simplified W:H ratio, decimal ratio and nearest common ratio. In 'solve' mode, give a ratio (ratioW:ratioH) plus one of width …
Work out the mean, median, mode, sum, count, minimum and maximum of a list of numbers. Provide the numbers separated by spaces, commas, semicolons or new lines (type 1200 rather than 1,200, as commas …
Encode text to RFC 4648 Base32 or decode Base32 back to text. Encoding maps the UTF-8 bytes of the text into 5-bit groups using the alphabet A to Z then 2 to 7, padded to a multiple of 8 characters wi…
Encode text to Base64, or decode a Base64 string back to text. UTF-8 safe, so accents and emoji survive the round trip. Returns the converted text or a clear error. Source: https://hopi.co.uk/base64/
Split a restaurant bill between people. In 'itemised' mode, list each item with its amount and who shared it, then add an optional tip and service charge (both percentages applied to each person's own…
Generate one or more UK 90-ball bingo cards. Each card is a 3-row by 9-column grid holding 15 numbers, 5 per row, with each column drawing from its own decade (1 to 9, 10 to 19, and so on up to 80 to …
Build Ramanujan's birthday magic square: a 4 x 4 grid whose top row is a date (day, month, first two digits of the year, last two digits) and whose rows, columns, diagonals and many other groups of fo…
Check whether a Bitcoin address is valid by verifying its checksum and structure. Supports legacy Base58Check (P2PKH, P2SH) and Bech32/Bech32m SegWit and Taproot addresses, on mainnet and testnet. Doe…
Work out body mass index (BMI) from height and weight, with the NHS weight category. Use units 'metric' with heightCm and weightKg, or 'imperial' with heightInches and weightPounds. BMI = weight in kg…
Estimate body fat percentage using the US Navy tape method from a few measurements. For males give height, neck and waist; for females give height, neck, waist and hip. Use units 'metric' (centimetres…
Encode or decode text with a Caesar shift cipher. Each letter is moved along the alphabet by the shift amount; a shift of 13 is ROT13. Only A to Z letters are changed, everything else is left as is. D…
Work out the compound annual growth rate (CAGR) that takes a starting value to an ending value over a number of years. Returns the annual rate, the total growth and the growth multiple. Source: https:…
Convert food energy between kilocalories (kcal) and kilojoules (kJ) using the exact factor 1 kcal = 4.184 kJ. Give an amount and its unit ('kcal' or 'kj'); returns both values. Source: https://hopi.co…
Generate the embed code for a CAPTCHA on a web form plus the server code that checks the token. Providers: turnstile (Cloudflare Turnstile), hcaptcha, recaptcha2 (reCAPTCHA v2 checkbox), recaptcha3 (r…
Convert text to a different letter case. 'upper' is UPPERCASE, 'lower' is lowercase, 'title' capitalises the first letter of each word, and 'sentence' capitalises the first letter of each sentence. So…
Convert a cat's age in years to an approximate human age, using the standard 15, 24, then 4 a year chart. Returns the human-equivalent age and the cat's life stage. Source: https://hopi.co.uk/cat-age-…
Convert a temperature between Celsius and Fahrenheit. Also returns Kelvin. Set direction to 'c-to-f' or 'f-to-c'. Source: https://hopi.co.uk/celsius-to-fahrenheit/
Count the characters in a block of text, including a count with spaces removed, the word count, how many SMS messages it would take to send, and the Twitter/X characters remaining out of 280. Source: …
Identify what encoding or classical cipher a piece of text probably is (Base64, Base32, hex, binary, octal or decimal ASCII, URL encoding, HTML entities, Morse, Caesar or ROT-N, Atbash, reversed text)…
Convert a height between centimetres and feet/inches. Direction 'cm-to-feet' takes cm and returns feet and inches. Direction 'feet-to-cm' takes feet and inches and returns cm. Source: https://hopi.co.…
Convert print CMYK values (each 0 to 100) to on-screen RGB and hex, or convert RGB (each 0 to 255) the other way to CMYK. Uses the standard device-independent conversion. Source: https://hopi.co.uk/cm…
Flip a fair coin one or more times. Returns each result plus a tally of heads and tails. Source: https://hopi.co.uk/coin-flip/
Run the Collatz (3n + 1) rule on a positive whole number of up to 1,000 digits: halve it when even, treble it and add 1 when odd, until it reaches 1. Returns the total steps, odd and even step counts,…
Find the named CSS colour that exactly or most closely matches a hex code, using straight-line distance in RGB space across the 148 named CSS colours. Source: https://hopi.co.uk/colour-name-finder/
Generate a five-swatch colour palette from a base hex colour using a chosen scheme: analogous, complementary, triadic or mixed. Supporting swatches carry a small random variation, so results vary slig…
Given a six-digit hex colour code (with or without a leading #), return its hex, RGB and HSL values. Source: https://hopi.co.uk/colour-picker/
From a base hex colour, generate five progressively lighter tints (mixed towards white) and five progressively darker shades (mixed towards black), each in five equal steps of one sixth. Source: https…
List every way to choose r items from a list, ignoring order (combinations). Returns the total count and the combinations themselves (the first 5000). Source: https://hopi.co.uk/combination-generator/
Project savings growth from a starting deposit plus a regular monthly contribution, compounded monthly with contributions added at the end of each month. Returns the final balance, total paid in and i…
Work out the WCAG contrast ratio between a foreground (text) colour and a background colour, both as hex codes, and report whether it passes AA and AAA for normal and large text. Source: https://hopi.…
Translate a standard five-field cron expression (minute, hour, day-of-month, month, day-of-week) into plain English. Understands stars, steps, ranges, lists and month and day names, plus shortcuts lik…
Work out profit or loss on a crypto trade from buy price, quantity and an optional per-side fee percentage. Returns breakeven price always, and profit, return percentage and total fees once a sell pri…
Build a ready-to-use CSS gradient from two colours. Choose a linear gradient with an angle in degrees, or a radial gradient. Returns the gradient value and a full background declaration. Source: https…
Minify CSS by removing comments and needless whitespace, while preserving quoted strings and the spaces inside calc() expressions. Returns the minified CSS with before and after byte sizes. Source: ht…
Convert CSV text into a JSON array, following standard CSV quoting rules for embedded commas, quotes and line breaks. With headers on, the first row becomes object keys; with headers off, each row is …
Convert US cups of a common baking ingredient to grams (approximate). Ingredients: flour (plain flour), caster (caster sugar), brown (packed brown sugar), butter, cocoa (cocoa powder), oats, rice (unc…
Convert an amount of money from one currency to another using Hopi's live mid-market exchange rates (updated hourly, 150+ currencies). Use ISO 4217 codes such as GBP, EUR, USD, JPY. Source: https://ho…
Convert a digital storage size between units. Units: B (bytes), KB, MB, GB, TB. By default 1 KB = 1000 bytes (decimal, as storage is sold). Set binary to true for 1 KB = 1024 bytes (as Windows reports…
Add or subtract a number of days, weeks, months or years from a date. Dates use the YYYY-MM-DD format. Months and years are clamped to the last day of the target month where needed. Returns the result…
Find which day of the week a given date falls on. Dates use the YYYY-MM-DD format. Also reports which weekday that same day and month falls on in the current year. Source: https://hopi.co.uk/day-of-we…
Convert between a contractor day rate and an annual salary equivalent using a chosen number of billable working days per year (default 220). Mode 'to_salary' turns a day rate into yearly, monthly and …
Count the number of days between two dates, with the total also shown in weeks and in weekdays (Monday to Friday). Dates use the YYYY-MM-DD format. Set inclusive to true to count both end days. Source…
Count the number of sleeps until the next Christmas Day (25 December). Uses today's date by default, or an optional 'from' date in YYYY-MM-DD format. Source: https://hopi.co.uk/days-until-christmas/
Work out the average cost basis across a series of pound-cost-averaged buys. Each buy is an amount of money spent and the price paid per unit. Returns total invested, coins acquired and average cost, …
Roll one or more dice with a given number of sides. Returns each die result plus the total, highest and lowest. Source: https://hopi.co.uk/dice-roller/
Compare two texts line by line using a longest common subsequence diff, and report which lines were added and which were removed. An edited line shows as one removed line plus one added line. Comparis…
Work out a discount and sale price. Mode 'pct': a percentage off a price. Mode 'fixed': a fixed pound amount off a price. Mode 'find': the discount percentage from an original price and a final price.…
Convert a dog's age in years to an approximate human age, using the standard veterinary chart. The later rate depends on the dog's size: small, medium or large. Returns the human-equivalent age. Sourc…
Estimate how long a download takes. Give a file size with its unit (MB, GB, TB) and a connection speed with its unit (Mbps or Gbps in bits per second, or MBps in bytes per second). Returns a human-rea…
Estimate a pregnancy due date from the first day of the last menstrual period (LMP) and cycle length. Method: adjust the LMP by (cycle - 28) days, then add 280 days for the due date. Also returns the …
Generate fake but safe UK test records. Phone numbers come from Ofcom's reserved drama ranges and emails use RFC 2606 example domains, so no record can reach a real person. Returns an array of records…
Analyse raw email headers (the full source from Show original or View message source) without any network call: lists every Received hop in delivery order with host, IP, time and delay between hops; e…
Build a correctly percent-encoded mailto link from to, cc, bcc, subject and body fields, plus a ready to paste HTML anchor snippet. Spaces are encoded as %20 and line breaks as %0D%0A, as the mailto s…
Remove emoji from a block of text, leaving the words and normal punctuation intact. Joined emoji sequences (such as a family or a flag) count as a single emoji. The copyright, registered and trademark…
Work out the running cost of an electrical appliance from its power in watts, hours used per day and your electricity unit price in pence per kWh. Returns daily, weekly, monthly and yearly cost plus k…
Convert between a .env file and a JSON object. In env-to-json mode, each line is split on its first equals sign into a key and value, blank and commented lines are skipped, a leading export is removed…
Validate an Ethereum address's EIP-55 capitalisation checksum and return the correctly checksummed form. Reports whether the input is already checksummed, lacks a checksum (all one case), or fails the…
Convert an amount given in wei, gwei or ETH into all three units, using exact 18-decimal integer maths (no floating point error). 1 ETH is 1e18 wei; 1 gwei is 1e9 wei. Source: https://hopi.co.uk/eth-u…
Generate random EuroMillions lines. Each line has 5 main numbers from 1 to 50 and 2 Lucky Stars from 1 to 12. Source: https://hopi.co.uk/euromillions-generator/
Work out how many bottles of red, white and Champagne to buy for an event, from the number of guests and glasses per guest. Ticking different wines splits a colour into one wine per glass, each poured…
Crack open a virtual fortune cookie and receive a random cheerful fortune. Returns the fortune. Source: https://hopi.co.uk/fortune-cookie/
Add, subtract, multiply or divide two fractions, giving the simplified result, a mixed number where relevant, and the decimal value. Each fraction is a numerator over a denominator, all whole numbers …
Convert between fractions and decimals. Mode 'toDecimal': give a numerator and denominator (whole numbers) to get the decimal and percentage. Mode 'toFraction': give a decimal to get the closest simpl…
Estimate the fuel cost of a journey from the distance in miles, the car's fuel economy in miles per gallon (UK gallon) and the pump price in pence per litre. Optionally double it for a return trip and…
Compute the SHA-256, SHA-1 or SHA-512 hash of a piece of text and return the hex digest. Uses WebCrypto on Hopi's server. SHA-1 is included for compatibility with older systems only and should not be …
Identify the most likely algorithms behind a hash string from its length, character set and any prefix. Covers MD5, NTLM, MD4, SHA-1, RIPEMD-160, SHA-224/256/384/512, the SHA3 family, CRC32, bcrypt, A…
Estimate maximum heart rate and five training zones (bpm) from age. Max HR = 220 - age. Method 'max' uses percentages of max HR (50-60, 60-70, 70-80, 80-90, 90-100%). Method 'karvonen' uses heart rate…
Convert a hex colour code (3, 6 or 8 digits, with or without a leading #) to its RGB and HSL values. Source: https://hopi.co.uk/hex-to-rgb/
Scan text for hidden and suspicious Unicode characters and return a cleaned copy. Finds zero-width space, joiner and non-joiner (U+200B to U+200D), word joiner U+2060, byte order mark U+FEFF, soft hyp…
Work out UK statutory paid holiday entitlement from the number of days worked per week, using 5.6 weeks a year capped at the statutory 28 days. Optionally scale to a part-year by the number of months …
Generate a honeypot spam trap for a web form: the hidden field HTML, the CSS that moves it off-screen, and the server check that quietly rejects submissions where it is filled. Platforms: php, node (E…
Convert between an hourly pay rate and an annual salary based on hours worked per week (52 weeks a year). Mode 'to_salary' turns an hourly rate into annual, monthly and weekly pay; mode 'to_hourly' tu…
Work out the hours worked between a start time and an end time, minus an optional unpaid break. Times use 24-hour HH:MM format. Handles overnight shifts where the end time is earlier than the start. R…
Convert a hex colour code to hue, saturation and lightness (HSL), or convert HSL values to hex and RGB. Source: https://hopi.co.uk/hsl-converter/
Escape the five special HTML characters (& < > " ') into entities so text is safe to place in HTML, or unescape named and numeric HTML entities back into plain characters. Source: https://hopi.co.uk/h…
Look up a standard HTTP status code by number and get its name, meaning and class (1xx to 5xx), or search all standard codes by a word in the number, name or description. Source: https://hopi.co.uk/ht…
Validate an IBAN or generate a test IBAN. Pass 'iban' to check it: the tool normalises it (uppercase, no spaces), confirms the length matches the country's published length, and runs the mod-97 checks…
Build a .ics (iCalendar, RFC 5545) calendar file for a single event and return the file text. Give a title, startDate and endDate as 'YYYY-MM-DD'. For timed events give startTime and endTime as 'HH:MM…
Adjust a money amount for UK inflation. Mode 'cpi' uses the ONS monthly CPI index (2015 = 100) between two months from January 1988 to September 2026 and returns the adjusted value, total change and a…
Estimate UK inheritance tax (IHT) on a death estate, side by side for a death before 6 April 2027 and from 6 April 2027, when unused pension funds and pension death benefits start to count towards the…
Work out the totals for a UK invoice or full VAT invoice from its line items, in whole pence. Each line has a quantity, a unit price before VAT and, when vatRegistered is true, a VAT rate of 20, 5, 0,…
Pretty print, minify or validate JSON. Formatting and minifying only change whitespace; key order, values and structure stay exactly as they were. Returns the output text or a clear parse error. Sourc…
Convert a JSON array of objects into CSV. The union of all keys becomes the header row in first-seen order, missing keys become empty cells, and nested objects or arrays are written back as compact JS…
Convert a JSON sample into TypeScript interfaces and types. Objects become named interfaces (PascalCase from their key), nested objects get their own interfaces, arrays become element-type arrays with…
Convert data between JSON and YAML in both directions. JSON to YAML parses with JSON.parse and serialises with js-yaml at two-space indent; YAML to JSON parses with js-yaml and prints with JSON.string…
Decode a JSON Web Token's header and payload from base64url. The signature is never verified, so a decoded claim proves nothing on its own. Reports the algorithm, the exp, iat and nbf time claims, and…
Convert a weight in kilograms to pounds (avoirdupois lb), with the answer also split into whole pounds and ounces. Uses exactly 0.45359237 kg per pound and 16 ounces per pound. Source: https://hopi.co…
Convert a weight in kilograms to UK stone and pounds. Returns whole stone plus remaining pounds, and the totals in pounds and decimal stone. Source: https://hopi.co.uk/kg-to-stone/
Convert a weight in pounds (avoirdupois lb) to kilograms and grams, with the UK stones-and-pounds form alongside. Uses exactly 0.45359237 kg per pound and 14 pounds per stone. Source: https://hopi.co.…
Watermark a document per recipient and trace a leaked copy. Mode 'mark' takes text and a list of recipient names (up to 255) and returns one copy per recipient carrying that recipient's number as an 1…
Check whether a year is a leap year, applying the divisible-by-4, century, and divisible-by-400 rules. Returns the verdict, the divisibility tests, and the next and previous leap years. Source: https:…
Convert a length from one unit to another. Units: mm, cm, m, km, in (inches), ft (feet), yd (yards), mi (miles). Source: https://hopi.co.uk/length-converter/
Clean and inspect a URL without visiting it: strips tracking parameters (utm_*, fbclid, gclid, msclkid, mc_eid, _hsenc and many more, grouped by network), unwraps redirect wrappers whose destination i…
Convert between litres and pints. Direction 'litres-to-pints' takes litres and returns UK pints, US pints and millilitres. Direction 'pints-to-litres' takes UK pints and returns litres. Source: https:…
Work out the monthly repayment on a loan from the amount borrowed, the annual interest rate and the term in years, using the standard amortising formula. Returns the monthly payment, total repaid and …
Generate the lookalike variants of a domain that could be used to impersonate it, grouped by technique, as a defensive typosquat check. Techniques: omission (missing character), repetition (doubled ch…
Generate lorem ipsum placeholder text. Choose whether the count is a number of paragraphs, sentences or words, and how many. Limits are 100 paragraphs, 500 sentences or 2000 words. Source: https://hop…
Generate random lines for a UK lottery game: Lotto (6 numbers from 1 to 59), Thunderball (5 from 1 to 39 plus a Thunderball from 1 to 14) or Set For Life (5 from 1 to 47 plus a Life Ball from 1 to 10)…
Ask the Magic 8 Ball a yes or no question and receive one of its twenty classic answers at random. Returns the answer. Source: https://hopi.co.uk/magic-8-ball/
Work out profit, gross margin and markup from a cost price and a selling price. Margin is profit as a percentage of the selling price; markup is profit as a percentage of the cost. Amounts in GBP. Sou…
Render a small, safe subset of markdown to HTML: headings (# to ###), bold, italic, links (http, https or mailto only), inline code, fenced code blocks, bulleted and numbered lists, and blockquotes. E…
Calculate a coin's market cap (price times circulating supply) and fully diluted valuation, or work backwards to the price implied by a target market cap. Works in any currency; nothing is looked up. …
Build a complete HTML head snippet from page details: title, meta description, canonical link, Open Graph and Twitter card tags. Returns the ready-to-paste snippet plus character counts. Source: https…
Convert between miles and kilometres. Direction 'miles-to-km' takes miles and returns kilometres. Direction 'km-to-miles' takes kilometres and returns miles. Source: https://hopi.co.uk/miles-to-km/
Convert between 24-hour (military) time and 12-hour clock time. Direction '24h-to-12h' takes a 24-hour time like '1430' or '14:30'. Direction '12h-to-24h' takes a 12-hour time like '2:30' with a merid…
Convert a number of minutes into hours and minutes, or convert hours (plus optional extra minutes) into total minutes. Set mode to 'minutesToHours' or 'hoursToMinutes'. Returns a clock-style breakdown…
Work out the moon phase for a date, based on the synodic month since a known new moon. Dates use the YYYY-MM-DD format and default to today. Returns the phase name, illuminated percentage, moon age in…
Translate text into international Morse code, or Morse code back into text. Letters are separated by spaces and words by a forward slash. When decoding, underscores are treated as dashes and pipes as …
Work out the monthly payment on a repayment mortgage at a constant interest rate, using the standard amortising formula. Returns the monthly payment, total repaid and total interest. Fees and rate cha…
See how much time and interest a regular monthly overpayment saves on a repayment mortgage. Give the current balance, annual rate, remaining term in years and the extra amount paid each month. Returns…
Convert fuel economy between UK miles per gallon and litres per 100 km. Direction 'mpg-to-l100' takes UK mpg. Direction 'l100-to-mpg' takes litres per 100 km. Also returns US mpg, km per litre and mil…
Work out UK employee Class 1 National Insurance for the 2026/27 tax year from an annual gross salary. Uses the primary threshold of £12,570, upper earnings limit of £50,270, 8% between them and 2% abo…
Spell text out using the NATO phonetic alphabet (Alfa, Bravo, Charlie and so on), or convert a phonetic spelling back into plain text. Spaces become (space). When converting back, common variants such…
Work out the gross salary needed to achieve a desired take-home (net) pay for the 2026/27 tax year in England, Wales and Northern Ireland, using code 1257L income tax bands with personal allowance tap…
Count down to the next New Year (midnight at the start of 1 January): days, hours, minutes, seconds and sleeps remaining, plus the weekday New Year's Day falls on. Uses the current time by default, or…
Convert a whole number from one base to another between binary, octal, decimal and hexadecimal. Uses BigInt so values of any size convert exactly. Returns the value in the requested base plus all four…
Find what is special about a whole number from 0 to 10^18. Tests primality exactly (deterministic Miller-Rabin with BigInt), factorises it (trial division then Pollard's rho), counts and adds its divi…
Convert a number into written English words. Set currency to true to write it as UK pounds and pence (cheque style, ending 'only'). Supports up to 999,999,999,999 with decimals to two places. Source: …
Convert an oven temperature. Scale 'c' is conventional Celsius, 'fan' is fan/convection Celsius, 'f' is Fahrenheit, 'gas' is UK gas mark (1 to 9). Returns conventional Celsius, fan Celsius, Fahrenheit…
Work out gross overtime pay from a base hourly rate and hours worked at three multipliers: standard (1x), time and a half (1.5x) and double time (2x). At least one hours figure is required. Returns pa…
Estimate how strong a password is: an entropy estimate in bits, a rough offline crack time (assuming ten billion guesses a second), a 0 to 4 score with a verdict, and warnings about weak patterns such…
Make a payment link and a plain text pay button for it. type paypalme builds https://paypal.me/<name> with an optional amount and PayPal currency code (whole units only for HUF, JPY and TWD); revolut …
Work out percentages three ways. Mode 'of': what is P percent of a number. Mode 'what': what percentage the part is of the whole. Mode 'change': the percentage change from a starting value to an end v…
Work out the percentage change from a starting value to an end value, using the starting value as the base. A positive result is an increase, a negative result is a decrease. Source: https://hopi.co.u…
Decrease a number by a percentage and see the new value and the amount taken off. For example, 250 decreased by 15 percent. Source: https://hopi.co.uk/percentage-decrease-calculator/
Work out the percentage difference between two values using the average-based formula: the absolute gap divided by the average of the two, times 100. The result is symmetric, so the order of the two v…
Increase a number by a percentage and see the new value and the amount added. For example, 250 increased by 15 percent. Source: https://hopi.co.uk/percentage-increase-calculator/
Work out how large a position to take so that hitting the stop-loss loses only a chosen percentage of the account. Enter account size, risk percentage, entry price and stop-loss price. Returns units t…
Convert power from one unit to another. Units: w (watts), kw (kilowatts), hp (mechanical horsepower), ps (metric horsepower, PS). Source: https://hopi.co.uk/power-converter/
Generate random UK Powerball lines. Each line has 5 main numbers from 1 to 69 (unique, sorted low to high) plus one Powerball from 1 to 26, drawn with cryptographic randomness. A line costs £4; UK dra…
Convert pressure from one unit to another. Units: bar, psi (pounds per square inch), kpa (kilopascals), atm (atmospheres). Source: https://hopi.co.uk/pressure-converter/
Check whether a whole number (2 to 1,000,000,000,000,000) is prime, break it into its prime factors in power form, count its divisors, and list them. Uses trial division. Source: https://hopi.co.uk/pr…
Work out a pro rata salary for part-time hours by scaling a full-time salary by the ratio of your hours to full-time hours. Returns the pro rata yearly, monthly and weekly pay and the fraction of full…
Turn product rows into a platform-valid product feed: Meta (Facebook and Instagram) RSS 2.0, Google Merchant RSS 2.0, Atom 1.0 or generic RSS 2.0, using the g: namespace where the platform expects it.…
Generate a random colour and return its hex, RGB and HSL values. Each of the red, green and blue channels gets an independent value from 0 to 255. Source: https://hopi.co.uk/random-colour-generator/
Generate random geographic coordinates that are uniform by surface area across the globe (points are not bunched at the poles). Returns latitude and longitude in decimal degrees. Source: https://hopi.…
Generate random letters from the alphabet, optionally limited to vowels or consonants. Returns the letters as a list. Source: https://hopi.co.uk/random-letter-generator/
Generate one or more random whole numbers within a range (inclusive), optionally with no repeats. Returns the numbers as a list. Source: https://hopi.co.uk/random-number-generator/
Shuffle a list of names and deal them evenly into a set number of teams. Returns each team's members. Source: https://hopi.co.uk/random-team-generator/
Generate random everyday English nouns, with no repeats. Returns the words as a list. Source: https://hopi.co.uk/random-word-generator/
Work with ratios. Mode 'simplify': reduce a ratio a : b to its lowest terms, and give the 1 : n form and the decimal a / b. Mode 'solve': find the missing value x in the equivalent ratio a : b = c : x…
Estimate how long a block of text takes to read. Returns a silent reading time (225 words per minute) and a read-aloud time (130 words per minute), along with the word count. Source: https://hopi.co.u…
Work out UK statutory redundancy pay for redundancies on or after 6 April 2026, using the gov.uk count-back method: for each full year of service (up to 20), 1.5 weeks if worked aged 41+, 1 week aged …
Remove duplicate lines from a block of text, keeping the first occurrence of each line in its original order. Can optionally ignore letter case when deciding what counts as a duplicate. Returns the de…
Tidy up spacing in text: collapse runs of spaces, tabs and non-breaking spaces down to a single space and trim each line. Can optionally also remove blank lines. Line breaks between lines are kept. So…
Remove line breaks from text. In 'spaces' mode every line is joined into one with single spaces. In 'paragraphs' mode blank lines are treated as paragraph breaks, so text is joined within each paragra…
Reverse text in one of three ways. 'characters' reverses the entire text character by character. 'words' reverses the order of words on each line. 'each' keeps the word order but reverses the letters …
Convert red, green and blue values (each a whole number from 0 to 255) to an uppercase hex colour code. Source: https://hopi.co.uk/rgb-to-hex/
Convert a ring size between UK, US and millimetre scales. Mode 'uk' takes a UK letter F to Z (add 1/2 for half sizes, e.g. 'N' or 'N 1/2'). Mode 'us' takes a US number 2.75 to 12.75. Mode 'mm' takes a…
Build a robots.txt file from allow and disallow rules grouped by user agent, with an optional sitemap line. You can pass a preset ('allow' all, 'block' all, 'wordpress') or your own rules array. Sourc…
Convert between numbers and Roman numerals, both directions, for whole numbers from 1 to 3999. Give a number (e.g. 2026) to get its numeral, or a Roman numeral (e.g. MMXXVI) to get the number. The dir…
Round a number to a chosen number of decimal places or significant figures, with halves always rounded up (away from zero). Mode 'dp': decimal places, 0 to 12. Mode 'sf': significant figures, 1 to 15.…
Work out running pace, finish time or distance, in kilometres or miles. Mode 'pace' needs distance and timeSeconds; mode 'time' needs distance and paceSeconds (seconds per unit); mode 'distance' needs…
Find which years use exactly the same calendar as a given year (Gregorian, 1583 to 9999): same weekday for 1 January and same leap status, so every date falls on the same weekday. Lists the exact twin…
Convert satoshis to BTC, mBTC and bits, or convert BTC to satoshis, mBTC and bits. Uses exact whole-satoshi integer maths. 1 BTC is 100,000,000 satoshis. Source: https://hopi.co.uk/satoshi-converter/
Plan a savings goal, compounded monthly. Mode 'time' works out how long a monthly deposit takes to reach a target. Mode 'monthly' works out the monthly saving needed to reach a target within a number …
Build valid JSON-LD structured data using schema.org. Supports FAQ pages, articles, local businesses and breadcrumb lists. Returns the JSON-LD object and a ready-to-paste script snippet. Source: https…
Evaluate a maths expression following the standard order of operations (BODMAS). Supports + - * / ^ (power), ! (factorial), % (as divide by 100), brackets, the constants pi and e, and the functions si…
Draw Secret Santa gift pairings from a list of names. Every person gives to exactly one other person, and nobody is assigned to themselves (a derangement). Returns the giver to receiver pairs. Source:…
Find the rule behind a list of numbers and predict the next terms. Checks constant, arithmetic and geometric sequences, polynomials up to degree 5 by finite differences, sequences whose differences ar…
Generate random UK Set For Life lines. Each line has 5 main numbers from 1 to 47 (unique, sorted low to high) plus one Life Ball from 1 to 10, drawn with cryptographic randomness. Draws are Monday and…
Convert a UK shoe size to approximate EU and US sizes. Set sex to 'men' (UK 5 to 13) or 'women' (UK 2 to 9). UK size must be in whole or half steps. Source: https://hopi.co.uk/shoe-size-converter/
Suggest sleep times using 90-minute cycles plus 15 minutes to fall asleep. Mode 'wake' takes a wake time and returns the best bedtimes (wake - 15 - cycles x 90 minutes). Mode 'bedtime' takes a bedtime…
Spin a slot machine reel of names or options and pick one at random. Every item has an equal chance. Returns the chosen item. Source: https://hopi.co.uk/slot-machine-picker/
Turn any title or text into a clean URL slug: lowercase, accents stripped, and every run of spaces, punctuation and symbols collapsed to a single hyphen, with hyphens trimmed from the ends. Source: ht…
Convert text into decorative Unicode styles. 'superscript' uses tiny raised characters, 'smallcaps' uses small capital letters, and 'fullwidth' uses wide monospaced characters. Any character with no s…
List special characters and symbols grouped by category: arrows, stars and hearts, maths, currency, punctuation, legal marks and accents. Optionally filter to a single group. Returns the characters re…
Convert a speed from one unit to another. Units: mph (miles per hour), kmh (kilometres per hour), ms (metres per second), kn (knots), mach (Mach, at 340.29 m/s). Source: https://hopi.co.uk/speed-conve…
Spin the bottle and pick one player at random from those in the circle. Every player has an equal chance. Returns the chosen player. Source: https://hopi.co.uk/spin-the-bottle/
Format a SQL query: uppercase the keywords, put each clause on its own line and indent conditions, while leaving quoted strings, identifiers, numbers and comments untouched. Only whitespace and keywor…
Turn a quoted staking rate into a final balance and rewards earned. For an APR rate, choose daily or monthly compounding; for an APY rate, compounding is already included. Returns the final balance, r…
Work out Stamp Duty Land Tax (SDLT) on a property purchase in England and Northern Ireland. Buyer types: 'ftb' first-time buyer (relief up to £500,000, standard rates above), 'home' moving home (main …
Work out the sample and population standard deviation, sample and population variance, mean and count from a list of numbers. Provide the numbers separated by spaces, commas, semicolons or new lines. …
Find the western zodiac star sign for a date of birth. Dates use the YYYY-MM-DD format (only the month and day matter). Returns the sign, its symbol, date range and element. Source: https://hopi.co.uk…
Convert a UK body weight given in stones and pounds to kilograms and grams. Uses exactly 14 pounds to the stone and 0.45359237 kg to the pound. Pounds are optional; give 11 st 7 lb as stone 11, pounds…
Work out UK student loan repayments from an annual salary using 2026/27 thresholds. Plans: 'p1' Plan 1 (9% above £26,900), 'p2' Plan 2 (9% above £29,385), 'p4' Plan 4 (9% above £33,795), 'p5' Plan 5 (…
Work out UK take-home pay from an annual gross salary for the 2026/27 tax year in England, Wales and Northern Ireland, using code 1257L income tax bands (20/40/45%) with personal allowance taper above…
Draw a tarot spread from all 78 Rider-Waite-Smith cards, dealt without replacement using cryptographic randomness. Spreads: daily (1 card), past-present-future (3), situation (3: situation, obstacle, …
Estimate daily calories (TDEE) and BMR using the Mifflin-St Jeor equation. BMR = 10 x kg + 6.25 x cm - 5 x age + (5 for male, -161 for female). TDEE = BMR x activity factor (sedentary 1.2, light 1.375…
Generate Luhn-valid TEST card numbers for QA and development, or validate a card number. Test numbers pass the Luhn checksum and match a real brand format but are NOT real accounts, are linked to no o…
Repeat a piece of text a chosen number of times, joined by an optional separator, with optional line numbering. Count is capped at 10000 repeats and the output is capped at 100000 characters. Returns …
Split a long block of text into smaller blocks. In 'length' mode it splits into chunks up to a maximum character size, breaking at spaces where possible, and can add 1/n numbering to each block. In 'd…
Generate random UK Thunderball lines. Each line has 5 main numbers from 1 to 39 (unique, sorted low to high) plus one Thunderball from 1 to 14, drawn with cryptographic randomness. Draws are Tuesday, …
Add or subtract two durations, each given as hours and minutes. Returns the total as an H:MM clock value, as decimal hours, and as total minutes. Results can be negative when subtracting. Source: http…
Convert a wall-clock date and time from one time zone to another, using the server's IANA time zone data (so daylight saving is handled). Date uses YYYY-MM-DD and time uses 24-hour HH:MM. Zones are IA…
Work out a tip on a bill and optionally split the total between people. Returns the tip amount, the total, and the amount per person. Source: https://hopi.co.uk/tip-calculator/
Solve a right-angle triangle from any two given values, at least one of which must be a side. Sides: a (opposite), b (adjacent), c (hypotenuse). angleA is angle A in degrees, between 0 and 90 (the thi…
Add up UCAS tariff points from A-level grades using the current tariff: A* 56, A 48, B 40, C 32, D 24, E 16. Give the number of grades at each level. Returns the total points and the number of grades …
Inspect text as Unicode. Returns the number of code points (iterated so emoji and other astral characters count as one), the UTF-16 length, the UTF-8 byte count, and per-character details: the charact…
Compare the unit price of two or more items to find the best value. Each item has a price in GBP, a quantity and a unit ('g', 'kg', 'ml', 'l' or 'each'). Weights are compared per kg, volumes per litre…
Convert between Unix epoch timestamps and readable dates. Pass a timestamp to get the UTC and local date (seconds or milliseconds detected automatically), or pass a date (and optional time, interprete…
Flip text upside down using Unicode look-alike characters and reverse its order, so it reads as if rotated 180 degrees. Characters with no upside-down equivalent are kept as they are (but still revers…
Percent-encode or decode text for URLs. Component mode encodes every reserved character (right for a single query value); whole-URL mode leaves structural characters like / ? & alone (right for a comp…
Parse a URL into its parts: protocol, host, port, path, fragment, origin and every decoded query parameter. If no scheme is given, https:// is assumed for a bare domain. Source: https://hopi.co.uk/url…
Parse a user agent string into its parts: browser and version, rendering engine, operating system and version, device type (mobile, tablet or desktop) and whether it looks like a bot or crawler. Uses …
Invent memorable usernames by pairing a random adjective with a random noun, optionally with a two-digit number on the end. Returns a list of unique usernames. Source: https://hopi.co.uk/username-gene…
Add UTM campaign parameters (utm_source, utm_medium, utm_campaign, utm_term, utm_content) to a URL without breaking existing query parameters. Warns on mixed case and notes any missing core parameters…
Generate 1 to 100 random version 4 UUIDs using a cryptographically secure random source. Never uses Math.random. Source: https://hopi.co.uk/uuid-generator/
Add UK VAT to a net amount, or remove VAT from a gross (VAT-inclusive) amount. Default rate is the UK standard 20 percent. Returns the net, VAT and gross figures. Source: https://hopi.co.uk/vat-calcul…
Encode or decode text with the classic Vigenere cipher using a keyword. Each letter is shifted by the matching keyword letter (A is 0 to Z is 25), the keyword repeating across the message. Only A to Z…
Convert a volume from one unit to another. Units: ml (millilitres), l (litres), ukpt (UK pints), ukgal (UK gallons), usgal (US gallons), ukfloz (UK fluid ounces), usfloz (US fluid ounces), m3 (cubic m…
Estimate a rough daily fluid target from body weight, using 30 to 35 ml per kg, plus an activity add (sedentary 0, light 250, moderate 500, active 750, very_active 1000 ml) and 500 ml more for hot con…
Find the ISO 8601 week number for a date. Dates use the YYYY-MM-DD format and default to today. ISO weeks run Monday to Sunday and week 1 holds the year's first Thursday. Returns the week number, ISO …
Convert a weight from one unit to another. Units: g (grams), kg (kilograms), oz (ounces), lb (pounds), st (stone). Source: https://hopi.co.uk/weight-converter/
Spin a wheel of names or options and pick one at random. Every item has an equal chance. Returns the chosen item. Source: https://hopi.co.uk/wheel-spinner/
Analyse a block of text and return the word count, character count (with and without spaces), sentence count, paragraph count and an estimated reading time at 225 words per minute. Source: https://hop…
Count how often each word appears in a block of text, sorted from most to least frequent. Returns the total word count, the number of unique words, and the top 20 words with their counts and percentag…
Count the working days (Monday to Friday) between two dates, inclusive of both ends, optionally excluding England and Wales bank holidays. Dates use the YYYY-MM-DD format. Bank holiday data covers 202…
Draw original, family-friendly would-you-rather pairs, open icebreaker questions or rapid-fire this-or-that pairs, optionally filtered by category. Would-you-rather categories: silly, food, travel, wo…
Get a random yes or no decision, with an optional maybe. Returns the answer. Source: https://hopi.co.uk/yes-no-wheel/
Hide a secret message inside ordinary text using invisible zero-width Unicode characters, reveal a message hidden that way, or clean zero-width characters out of text. Mode 'hide' takes cover and secr…
How to use
Claude Desktop or claude.ai: add a custom connector (Customize → Connectors; on Team and Enterprise plans an owner adds it under Organization settings → Connectors) with this server URL: https://mcp.hopi.co.uk/mcp
Cursor or Cline: add to your MCP config:
{
"mcpServers": {
"uk.co.hopi/hopi": {
"url": "https://mcp.hopi.co.uk/mcp",
"transport": "streamable-http"
}
}
}