Tip Calculator
Calculate tips and split the bill instantly. Everything runs in your browser.
Results
Use this tool from AI agents
This tool's engine is available to AI agents over MCP as tip. Add the Clean.tools server, then your agent can call it directly.
claude mcp add --transport http clean-tools https://mcp.clean.tools/mcpclaude mcp add --transport http clean-tools https://mcp.clean.tools/mcp{"mcpServers":{"clean-tools":{"command":"npx","args":["-y","@clean-tools/mcp"]}}}{"mcpServers":{"clean-tools":{"command":"npx","args":["-y","@clean-tools/mcp"]}}}https://mcp.clean.tools/mcphttps://mcp.clean.tools/mcpOr call it over plain HTTP from any script. Same engine, JSON in and JSON out, no key:
curl -s https://api.clean.tools/v1/tip \
-H 'content-type: application/json' \
-d '{"bill":85.5,"tipPercent":20,"people":4}'curl -s https://api.clean.tools/v1/tip \
-H 'content-type: application/json' \
-d '{"bill":85.5,"tipPercent":20,"people":4}'const res = await fetch("https://api.clean.tools/v1/tip", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({"bill":85.5,"tipPercent":20,"people":4})
});
const data = await res.json();const res = await fetch("https://api.clean.tools/v1/tip", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({"bill":85.5,"tipPercent":20,"people":4})
});
const data = await res.json();How it works
Enter your bill amount, choose a tip percentage from the presets or type a custom value, and optionally split the bill among multiple people. The calculator updates instantly as you change inputs, showing tip amount, total bill, and per-person breakdowns.
All calculations happen in your browser. No data is sent to a server. No signup, no tracking. Works on mobile and desktop. You can also run the same tip math from scripts or AI agents through the Clean.tools API, or install the @clean-tools/mcp package from npm.
Frequently asked questions
Is the tip calculated on the pre-tax bill or the total with tax?
The tip percentage is applied to whatever number you type into the bill amount field. If you prefer to tip on the pre-tax subtotal, enter that figure instead of the taxed total. The tool does not know or add sales tax on its own.
How does splitting handle amounts that do not divide evenly?
Per-person figures are the exact division of the tip and total by the number of people, each rounded to two decimals for display. Because of rounding, adding the rounded per-person totals back together can differ from the group total by a cent or two.
Can I enter a tip percentage above 25 percent or a custom value?
Yes. The 15, 18, 20, and 25 percent buttons are shortcuts, but the custom tip field accepts any value from 0 to 100, including decimals like 22.5. Typing in the custom field clears the preset selection to match.
What is the maximum number of people I can split between?
The people field supports 1 to 20. If you leave it blank or enter less than 1, the calculator treats it as a single person so the per-person figures still make sense.
Can I use this from the command line or an AI agent?
Yes. The same tip engine is available as a REST endpoint at https://api.clean.tools/v1/tip, so you can POST a bill, tip percentage, and party size from any script and get the split back as JSON. It also runs as an MCP server you can add to Claude, Claude Code, or Cursor. The @clean-tools/mcp npm package runs that server locally over stdio.
More tools from Clean.tools
Use Clean.tools from your AI agent
This tool is also tip on the Clean.tools MCP server — the same engine, callable by your AI agent directly. No key, no signup: requests are processed in memory and request contents are never stored.
claude mcp add --scope user --transport http clean-tools https://mcp.clean.tools/mcpclaude mcp add --scope user --transport http clean-tools https://mcp.clean.tools/mcphttps://mcp.clean.tools/mcphttps://mcp.clean.tools/mcpEvery tool, the REST API, and setup for Cursor, Claude Desktop, VS Code & more →