All Tools

118 tools available — all free, no account needed

Showing 49–72 of 118 tools

🥗

Calorie Calculator

Estimate BMR and daily calorie needs with Mifflin-St Jeor or Harris-Benedict, plus macro and meal splits.

Health & Fitness Calculators 65 uses
⚖️

Ideal Weight Calculator

Compare four established ideal body weight formulas against your height, sex and current weight.

Health & Fitness Calculators 434 uses
💪

Body Fat Calculator

Estimate body fat percentage from tape measurements using the validated US Navy circumference formula.

Health & Fitness Calculators 125 uses
💧

Water Intake Calculator

Estimate your daily water target from body weight, age, exercise, climate and life stage, with a drinking schedule.

Health & Fitness Calculators 394 uses
🎂

Age Calculator

Calculate an exact age in years, months and days from any date of birth, with totals and a next-birthday countdown.

Date & Time Calculators 492 uses
🌍

Time Zone Converter

Convert any date and time from one city to several world time zones at once, with business-hours flags.

Date & Time Calculators 182 uses
⏰

Countdown Timer

Count down to a target date and time or for a set duration, with a label, progress bar and end alert.

Date & Time Calculators 101 uses
🏗️

Concrete Calculator

Calculate concrete volume for slabs, footings, columns, walls and stairs in yards, cubic feet, cubic metres and bags.

Construction & Engineering 116 uses
📐

Area Calculator

Calculate the area of eight common shapes and see the result converted into metric and imperial units.

Construction & Engineering 478 uses
💼

Profit Margin Calculator

Turn cost and price into margin, markup and profit, or work backwards from a target margin.

Business Calculators 513 uses
📊

Break Even Calculator

Work out break-even units, break-even revenue and contribution margin, with a sales target for any desired profit.

Business Calculators 512 uses
📡

Bandwidth Calculator

Convert between file size, connection speed and transfer time, with an adjustable overhead allowance.

Internet & Digital Calculators 80 uses
⬇️

Download Time Calculator

Estimate download duration from file size and connection speed, with a comparison across common speeds.

Internet & Digital Calculators 210 uses
🌡️

Temperature Converter

Convert one temperature into Celsius, Fahrenheit, Kelvin and Rankine at once, with the formulas shown.

Unit Converters 398 uses
📏

Length Converter

Convert lengths across nine metric and imperial units, with the formula shown and all units listed together.

Unit Converters 324 uses
⚖️

Weight Converter

Convert weight between milligrams, grams, kilograms, tonnes, ounces, pounds, stones and US short tons.

Unit Converters 227 uses
🧪

Volume Converter

Convert volumes between metric and US units, from cubic metres to teaspoons, with the conversion factor shown.

Unit Converters 328 uses
💨

Speed Converter

Convert speeds between km/h, mph, m/s, ft/s, knots, cm/s, km/s, mi/s, Mach and the speed of light.

Unit Converters 336 uses
💾

Data Storage Converter

Convert data sizes between bits, bytes and every SI and IEC unit from kilobytes to petabytes.

Unit Converters 461 uses
🔢

Word Counter

Count words, characters, sentences and paragraphs live as you type, with reading time and word frequency breakdowns.

Text Tools 433 uses
✍️

Case Converter

Switch text between seven case styles, including smart Title Case, and strip out extra spaces in one click.

Text Tools 302 uses
📄

Lorem Ipsum Generator

Generate lorem ipsum by paragraph, sentence or word count and copy it as plain text, HTML or Markdown.

Text Tools 385 uses
🔄

Text Reverser

Reverse text by character, by word order, by letters within words, or by line, with a built-in palindrome check.

Text Tools 413 uses
🗑️

Duplicate Line Remover

Strip repeated lines from any block of text, with case-insensitive matching, whitespace trimming and optional sorting.

Text Tools 351 uses

How duplicate detection works

The tool splits your input at every line break into an ordered list of lines. It then walks that list once, building a comparison key for each line and keeping a record of the keys it has already seen. A line whose key has appeared before is treated as a duplicate.

The options change how the key is built, not how the output is printed. With trim whitespace enabled, leading and trailing spaces and tabs are stripped before the key is made, so an indented copy of a line matches the unindented original. With ignore case enabled, the key is lowercased, so Apple and apple collapse into one entry. In both cases the line that survives is printed exactly as you typed it, with its original spacing and capitalisation intact.

The keep-which-occurrence setting decides which copy survives. Keeping the first preserves the original order of appearance, which is what you usually want for lists. Keeping the last is useful for logs and configuration files where a later entry supersedes an earlier one. Remove empty lines drops blanks entirely, and sorting is applied at the end, after deduplication.

Worked example on a seven-line list

Take this input, seven lines in total: apple, Banana, apple, cherry, an empty line, banana, Cherry.

Run it with ignore case on, remove empty lines on, keep first occurrence, and sorting off. The blank line is dropped, leaving six lines to compare. The keys become apple, banana, apple, cherry, banana, cherry. Walking through in order: apple is new and kept; Banana is new and kept; the second apple matches a key already seen and is removed; cherry is new and kept; banana matches Banana's key and is removed; Cherry matches cherry's key and is removed.

The output is three lines: apple, Banana, cherry. Note that Banana keeps its capital B because the original text is preserved; only the comparison was case-insensitive. The statistics show four lines removed in total, three of them duplicates and one a blank.

Run the same input with ignore case off and the result is five lines, because Banana and banana are then distinct, as are cherry and Cherry. Switching keep-last on instead returns apple, cherry, banana and Cherry in their later positions.

Getting the options right for your data

Case sensitivity is the setting that catches people out. Email addresses should almost always be compared case-insensitively, since the domain part is not case-sensitive and most providers ignore case in the local part too. Code identifiers, passwords and case-sensitive file paths on Linux should not be, because Config.yml and config.yml are genuinely different files.

Invisible whitespace is the second trap. Lines copied from a web page or a PDF frequently carry trailing spaces or non-breaking characters, so two apparently identical lines fail to match. Enabling trim whitespace resolves the ordinary cases of leading and trailing spaces and tabs.

Be careful with structured data. A CSV row is only a duplicate if the entire line matches character for character, so two records for the same person with columns in a different order, or with one extra space after a comma, will not be detected as duplicates. Deduplicate CSV files by a key column in a spreadsheet instead.

Finally, remember that sorting is applied after deduplication and reorders the whole output. If the original sequence carries meaning, such as in a log, leave sorting off.

Frequently Asked Questions

Open the file, copy its contents, paste them into the input box and run the tool. Choose whether to keep the first or last occurrence, and enable ignore case or trim whitespace if the repeats differ only in capitalisation or spacing. Copy the cleaned output back into a new file rather than overwriting the original.
Yes, unless you enable sorting. With keep first occurrence selected, each unique line stays in the position where it first appeared, so the sequence is preserved apart from the removed repeats. Selecting keep last occurrence moves each surviving line to its final position instead, which suits logs where later entries override earlier ones.
Yes. Turn on the ignore case option and lines are compared in lowercase, so Apple, APPLE and apple are treated as the same entry. The surviving line keeps the exact capitalisation you typed, because the lowercasing affects only the comparison. Leave the option off for case-sensitive data such as code identifiers or Linux file paths.
Yes, and it is one of the most common uses. Put one address per line, enable ignore case and trim whitespace, and switch on remove empty lines to drop the gaps that copying from a spreadsheet often introduces. Addresses that differ by an alias or a plus tag will remain, since those are genuinely different strings.
No. The splitting, comparison and output are all performed by JavaScript running in your browser, so the text never leaves your device. That makes the tool suitable for internal lists, log excerpts and anything else you would rather not paste into an online service that processes content on its own servers.