Bounce rate calculator. Sessions in, bounces in, rate out. Plus the part most calculators skip: what your tool counts as a bounce.

All sessions in the period. Sessions, not unique visitors.

Sessions that ended without a second pageview or any tracked interaction.

Optional. The number someone has asked you to hit.

Enter your total sessions and how many of them bounced.

Calculated in your browser, nothing sent anywhere. Bounce rate only means something when you know what your tool counts as an interaction, which is the part of this metric that changed under everyone’s feet.

How do you calculate bounce rate?

Bounce rate is bounced sessions divided by total sessions, as a percentage. If 4,620 of 8,400 sessions ended without a second pageview or any tracked interaction, that is 55%. What counts as a bounce differs between analytics tools, so the same visitors can produce very different rates.

What counts as a bounce? Four definitions in common use. This is why two tools on the same site can report rates thirty points apart, and why comparing your rate to a benchmark table is close to meaningless.

DefinitionA bounce isReports a rate that isUsed by
Single pageviewA session with exactly one pageview, however long it lastedHigher on content sitesClassic Universal Analytics and most simple analytics tools
No engagementA session under 10 seconds with no conversion and no second viewLower, because reading counts as engagementGoogle Analytics 4, inverted as engagement rate
No interactionA session with no scroll, click, or custom eventLower still on well-instrumented sitesTools that count interaction events by default
Route-change awareA session with only one view, counting client-side route changes as viewsRealistic on single-page apps, wrong if the tracker is misconfiguredAnything correctly wired into an SPA router

Whichever definition your tool uses, the rate is only comparable to itself. Track the trend on your own pages and ignore cross-site benchmarks.

Why your SPA bounce rate lies.

Tracker fires once, on initial load

  • Every client-side route change is invisible to analytics.
  • A visitor reading six screens looks identical to one who left immediately.
  • Bounce rate climbs toward 100% and stays there no matter what you ship.
  • Time on page is also broken, because there is no second event to measure against.
  • The giveaway: a bounce rate above 90% on a site people obviously use.

Tracker hooked into the router

  • Each route change reports a pageview with the new path.
  • Sessions with real navigation stop being counted as bounces.
  • Per-page numbers finally line up with what your app actually shows.
  • The opposite failure appears if you double-fire on the same route, which pushes bounce rate toward zero.
  • mrkr's tracker handles history API navigation, so client-side routes are counted without extra code.

Engagement says more than a bounce.

Bounce rate reduces a visit to a yes or no. Someone who read your entire article for four minutes and left satisfied is filed next to someone who hit the back button in two seconds, and the number cannot tell them apart.

Engagement time and conversion events add context. A visitor can read a useful article and leave satisfied, or complete an action without opening a second page. Check the outcome the page was intended to produce.

mrkr returning visitors: active days per visitor and repeat visits.

Reading the number honestly.

  • Judge the page by its job

    A contact page or store locator answers one thing and lets people go. High rate, task done.

  • Split it by source

    Broad social traffic bounces far more than branded search. A moving blend usually means a moving mix.

  • Bots inflate it

    Crawlers hit one page and leave. On one live mrkr site they ran at 4.1x human pageviews in September 2026.

  • Check page speed first

    A six-second render loses people before they can act. That bounce rate is a performance number.

  • A very low rate is a bug

    Under about 15% is almost always a double-firing tracker or a tag installed twice.

  • Never optimise the metric

    Firing a scroll event on load drops it to zero and improves nothing. Fix why people leave.

Look at what people did, not just whether they stayed. The mrkr demo shows engagement and per-page behaviour on a fully populated dashboard. No signup, no card, cookieless by default.

Open the live demo

What should you look at instead? Bounce rate survives because it is easy to compute, not because it tells you what to do next. Three things that usually do.

  • Conversion events

    A visitor can complete a useful action in one pageview. Track that action before treating every bounce as a failure.

  • The rate split by source and device

    Mobile paid social behaving unlike desktop organic is a finding. The blend that hides it is not.

  • Replays of the bounced sessions

    Twenty replays show the banner, the slow hero or the silent form error in ten minutes.

How do you calculate bounce rate?

Divide bounced sessions by total sessions and multiply by 100. If 4,620 of 8,400 sessions ended without a second pageview or tracked interaction, the bounce rate is 55%. The hard part is agreeing what counts as a bounce, because that definition has changed and differs between tools.

What is a good bounce rate?

There is no universal number, because it depends on what the page is for. A blog post or a documentation page that answers the question and gets closed has done its job at an 80% bounce rate. A pricing page at 80% has a problem. Compare a page to itself over time, not to an industry average.

Why is my single-page app bounce rate so low or so high?

Both happen, for opposite reasons. If your SPA fires a pageview on every route change, almost no session looks like a bounce and your rate collapses toward zero. If it fires only once on the initial load and never again, every session looks like a bounce and the rate goes to nearly 100%. Neither number describes your visitors.

What is the difference between bounce rate and engagement rate?

They are the same measurement inverted. Google Analytics 4 defines engagement rate as the share of sessions that lasted over ten seconds, had a conversion, or had at least two pageviews, and bounce rate as everything else. A 45% engagement rate is a 55% bounce rate.

Does a high bounce rate hurt SEO?

Not directly. Google does not read your analytics. What can matter is the behaviour underneath it: if people return to the results page and click a different result, that pattern is visible to a search engine in a way your bounce rate is not. Fix the reason, not the metric.

Does this calculator send my numbers anywhere?

No. It runs entirely in your browser, with no account, no email gate and no server call.

Start with one line of HTML.Your first visitors show up within a minute.