Percentage Calculator
Percent of, change, discounts and tax
Work out percentages, percentage change, discounts, margins and markups, and add or remove GST/VAT.
- Percentage
- Discount
- GST
- VAT
How to use Percentage Calculator
- Find the card for your question: X% of Y, X is what % of Y, percentage change, add or subtract X%, reverse percentage, discount, margin vs markup, GST / VAT, or percentage points.
- Type your numbers into that card. The result updates as you type, and the formula used is shown under it.
- For a stacked discount, list the percentages separated by commas, such as
20, 10. For GST or VAT, choose whether your amount includes tax, then pick a rate preset (5, 12, 18, 28) or type your own. - Switch the GST card to CGST + SGST to see the tax split into two equal halves.
- Use Copy share link to send the current values of every card to someone else.
How it works
Each card is a one-line formula evaluated with ordinary floating-point numbers, for example Y × X ÷ 100 or (B − A) ÷ |A| × 100. Results are rounded for display only, to 2 decimal places (4 for the plain percent cards), rounding halves away from zero, so 1.005 shows as 1.01.
Stacked discounts apply one after another, each to the already-reduced price, so 20, 10 is a 28% discount overall, not 30%. Margin is profit divided by the selling price and markup is profit divided by cost, so 25% markup is 20% margin. For GST or VAT the tax is rounded to 2 decimals and the net or gross follows from it; CGST and SGST are each half of the tax, with any odd paisa going to SGST.
Everything runs in your browser.
Limits
- Inputs are plain decimals with an optional sign; thousands commas are ignored, but exponent notation such as
1e5is not accepted. - Percent change from 0, X is what % of 0, a margin of 100% or more, and reversing a 100% decrease are undefined and show a message instead of a number.
- Percent change divides by the absolute value of the starting number, so changes from negative numbers read in the direction of the move.
- Results use floating-point arithmetic, so extremely large values lose precision beyond about 15 digits.
- The GST card rounds to 2 decimals (currency units); it does not apply country-specific rounding rules or tax slabs.
Privacy
Calculations run entirely in your browser; nothing is uploaded or stored, and the site’s Content Security Policy blocks requests to other servers. Copy share link puts the values in the link’s # fragment, which browsers don’t send to servers.
Frequently asked questions
What is the difference between margin and markup?
Markup is profit as a percentage of cost; margin is profit as a percentage of the selling price. Buying at 80 and selling at 100 is a 25% markup but a 20% margin.
Why are two discounts of 20% and 10% not 30% off?
The second discount applies to the price after the first, so 1000 becomes 800 and then 720: a 28% saving overall. Use the discount card with 20, 10 to see it.
How do I remove GST from a price that already includes it?
Choose Including tax on the GST / VAT card. The net price is the amount divided by 1 plus the rate (1180 at 18% gives 1000), not the amount minus 18%.
What are percentage points?
The plain difference between two percentages. A rate rising from 10% to 12% is 2 percentage points, but a 20% relative increase.
More tools
- Clean Image: Inspect and remove hidden image metadata
- JWT Decoder: Decode and verify JSON Web Tokens
- Diff Checker: Compare two texts line by line
- JS Runner: Run JavaScript and TypeScript in your browser
- JSON Formatter: Format, validate and minify JSON
- Encode / Decode: Base64, URL, HTML entity and hex
- Hash Generator: MD5, SHA and HMAC of any text
- UUID Generator: Generate UUID v4 and v7 in bulk
- Timestamp Converter: Unix time ↔ human dates
- Regex Tester: Test regular expressions live
- URL Parser: Break a URL into its parts
- HTTP Status Codes: Look up any HTTP status code
- MIME Type Lookup: File extension ↔ MIME type
- Password Generator: Strong random passwords and passphrases
- Random String Generator: Random tokens, IDs and keys
- Slug Generator: Turn titles into URL slugs
- Case Converter: camelCase, snake_case, Title Case and more
- Word Counter: Count words, characters and reading time
- JSON to TypeScript: Generate TypeScript types from JSON
- JSON Diff: Compare two JSON documents structurally
- JSON to SQL: Turn JSON arrays into SQL inserts
- YAML ↔ JSON: Convert between YAML and JSON
- XML ↔ JSON: Convert between XML and JSON
- CSV ↔ JSON: Convert between CSV and JSON
- CSV Viewer: View, sort and filter CSV files
- SQL Formatter: Format and beautify SQL queries
- cURL ↔ Fetch: Convert cURL commands to fetch and back
- Markdown Editor: Write Markdown with a live preview
- Text Cleaner: Remove duplicate lines, empty lines and extra spaces
- Find & Replace: Find and replace in any text
- Cron Expression Builder: Build and explain cron schedules
- User-Agent Parser: Identify browser, OS and device from a user agent
- HTTP Headers Inspector: Paste response headers and get them explained
- JWT Generator: Create and sign test JSON Web Tokens
- Certificate Inspector: Decode PEM certificates and keys
- Meta Tag Inspector: Check a page's SEO and social tags
- UTM Builder: Build campaign URLs with UTM parameters
- URL Cleaner: Strip tracking parameters from links
- Robots.txt Generator: Create and test a robots.txt file
- Sitemap Generator: Create an XML sitemap from a list of URLs
- Image Compressor: Shrink JPEG, WebP and AVIF images in your browser
- Image Resizer: Resize images by pixels, percentage or to fit a box
- Image Converter: Convert between PNG, JPEG, WebP and AVIF
- Image to Base64: Encode images as Base64 data URIs and decode them back
- SVG Optimizer: Minify and sanitize SVG files
- Favicon Generator: Make favicon.ico, Apple and Android icons from an image or emoji
- Color Converter: HEX, RGB, HSL, OKLCH and contrast checks
- Number Base Converter: Binary, octal, decimal, hex and float bits
- IP / CIDR Calculator: Subnets, masks and IP ranges for IPv4 and IPv6
- JSONPath Query: Query JSON with JSONPath expressions
- JSON Schema Validator: Validate JSON against a schema, or generate one
- Semver Checker: Check versions against semver ranges
- chmod Calculator: Unix permissions: rwx ↔ octal
- .env Diff: Compare and validate .env files
- TOTP Generator: Generate and verify 2FA codes
- String Escaper: Escape and unescape strings for any language
- Unicode Inspector: See every character, code point and hidden symbol
- Mock Data Generator: Generate realistic fake data
- QR Code Generator: Create QR codes for links, Wi-Fi and contacts
- Lorem Ipsum Generator: Placeholder text in paragraphs, sentences or words
- Date Calculator: Date differences, business days and durations
- Unit Converter: Convert bytes, lengths, weights, temperatures and more
- Query CSV with SQL: Run SQL queries on CSV files
- PDF Merge & Split: Merge, split, reorder and rotate PDFs
- PDF Metadata Cleaner: See and remove hidden PDF metadata
- Office Metadata Cleaner: Remove author and revision data from Word, Excel and PowerPoint
- Images to PDF: Combine images into one PDF
- Image Editor: Crop, rotate, resize and adjust images
- Encrypt / Decrypt Text: Encrypt text with a passphrase (AES-GCM)
- SSH Key Generator: Generate Ed25519 and RSA SSH keys locally
- Email Header Analyzer: Trace an email's path and check SPF, DKIM and DMARC
- JSON to Code: Generate Go, Python, Rust, Java, C# and Kotlin models from JSON
- docker run ↔ Compose: Convert docker run commands to docker-compose and back
- Color Palette Extractor: Pull the dominant colours out of any image
- Password Strength Checker: How long would your password take to crack?
- SPF / DKIM / DMARC Checker: Validate and explain email DNS records
- Kubernetes YAML Checker: Validate and explain Kubernetes manifests
- .gitignore Generator: Build a .gitignore from presets
- CSP Builder: Build and check a Content-Security-Policy
- JSON-LD Generator: Create schema.org structured data
- Open Graph Image Generator: Make 1200×630 social preview images
- CSS Generator: Gradients, shadows, clamp() and more
- Time Zone Meeting Planner: Find meeting times across time zones
- HAR Viewer: Inspect browser network recordings (HAR)
- Log Viewer: Filter and search JSON log files
- TOML ↔ JSON: Convert between TOML and JSON
- HTML to Markdown: Turn HTML into clean Markdown
- Markdown Table Generator: Build and format Markdown tables
- GraphQL Formatter: Format and minify GraphQL
- Protobuf Decoder: Decode raw protobuf bytes
- Bcrypt Generator: Hash and verify bcrypt passwords
- Image Diff: Compare two images and see what changed
- Keyboard Event Viewer: See key, code, keyCode and modifiers for every keypress
- JSON Tree Viewer: Explore large JSON as a collapsible tree
- XML Formatter: Format, minify, validate and query XML
- HTML & CSS Minifier: Minify or beautify HTML and CSS safely
- Aspect Ratio Calculator: Work out sizes that keep the same ratio
- Morse Code Translator: Text ↔ Morse code, with sound
- Text to Speech: Read text aloud with your browser's voices
- Placeholder Image Generator: Make placeholder images of any size
- nginx Config Generator: Build nginx server blocks
- Duplicate File Finder: Find duplicate files by content
- Invoice Generator: Create PDF invoices in your browser
- QR Code Reader: Read QR codes from images
- Barcode Generator: Create Code 128, EAN-13, UPC-A and more
- Signature Pad: Draw a signature as a transparent PNG
- Loan / EMI Calculator: Monthly payments, interest and schedule
- Stopwatch & Timer: Stopwatch, countdown and Pomodoro
- Notepad: Quick notes saved in your browser
- Random Picker: Pick names, make teams, flip coins
- PDF to Images: Convert PDF pages to JPG or PNG
- Excel to CSV / JSON: Convert .xlsx sheets to CSV or JSON
- SIP & Compound Interest Calculator: See how investments grow over time
- Age Calculator: Exact age in years, months and days