TGLiveChat
All alternativesTwelve vendors, each with a reason to stayWidget sizes measured79KB to 749KB, measuredLive chat pricingEntry prices, seat maths, branding chargesvs IntercomThe full head to headvs Tawk.toFree forever, and what it costsHow we measureSources, commands and corrections
WordPressShopifyWebflowSquarespaceWixNext.jsReactAll platforms
ThemesDocsBlogPricing
Sign inGet Started

Widget performance

How much does a live chat widget slow down your site?

Between 79KB and 749KB, depending entirely on which one you install. Here is every measured figure, where it came from, and how to check your own in about two minutes.

Last checked 1 September 2026

The short answer

How much weight does a live chat widget add to a page?

Mainstream live chat widgets download between 79KB and 749KB, measured by DebugBear. Tawk.to is the heaviest at 749KB, most of which is a single unused 500KB image. Intercom is 301KB, Zendesk 533KB, Crisp 155KB, and LiveAgent the lightest of the mainstream tools at 79KB.

Download size is only half of it. Zendesk spends 991ms of CPU time parsing and running its JavaScript, against 259ms for Zoho SalesIQ. The TGLiveChat widget is about 26KB gzipped in 3 requests.

Live chat widget download size and CPU time
WidgetDownloadJS executionNote
TGLiveChat~26 KBnot tested by DebugBearOur own measurement, method below
Tawk.to749 KBNot publishedDebugBear noted that most of the 749KB is a single 500KB SVG image that does n…
Zendesk Chat533 KB991 msThe heaviest widget DebugBear measured for JavaScript execution. In their word…
Drift464 KBNot published
LiveChat385 KBNot published
Intercom301 KBNot published
Crisp155 KBNot published
LiveAgent79 KBNot publishedThe lightest widget in DebugBear’s test. They noted it defers most of its code…

Competitor figures are DebugBear's measurements, published 14 July 2019 and updated 10 November 2025. The TGLiveChat figure is our own, measured on 1 September 2026 against the published build, and the command to reproduce it is below. We do not measure other people's widgets and present the result as fact.

Why this number matters more than it looks

A chat widget is the last thing on the page and the first thing people forget to measure. It loads after your content, so it rarely shows up in the number everyone watches, and it is usually installed by pasting a snippet somebody sent over Slack. Nobody owns it and nobody checks it.

The cost lands somewhere specific: on a mid range Android phone over mobile data, which is exactly the visitor least likely to wait. Half a megabyte of JavaScript is a second or two of nothing happening, and the visitor does not attribute that to your chat widget. They attribute it to your site.

Weight is not a ranking factor on its own. What it does is push Largest Contentful Paint and Total Blocking Time in the wrong direction, and those are. If you are buying traffic to a landing page, you are paying for the delay twice.

Download size is not the same as slowness

Bytes have to arrive, and then they have to be parsed and executed, and the second part happens on the visitor device rather than on the network. That is why the ordering changes depending on which number you look at.

Widgets DebugBear measured for execution time but not download size
WidgetJS executionWhat they found
Smartsupp1000 msDebugBear measured about a second of JavaScript execution time.
Zoho SalesIQ259 msThe fastest widget DebugBear measured for JavaScript execution, at 259ms. They noted it defers most of its code until the chat is opened.

Zendesk downloads less than Tawk.to and costs the visitor more, because Tawk.to's bulk is a picture and Zendesk's is code. A picture is cheap to receive and free to ignore. Code has to run.

How we measured our own widget

The TGLiveChat figure is the only one on this page we produced ourselves, and here is exactly how, so you can disagree with it precisely rather than in general.

TGLiveChat widget, gzipped transfer
FileGzippedWhat it is
w.js594 BThe loader in your script tag
index.mjs19,544 BThe widget itself
<theme>.mjs4,326 to 8,806 BExactly one of 32 themes, whichever you chose
Total~26 KBRange of 24KB to 28KB depending on theme

Measured with gzip -9 against the published build on 1 September 2026.

Reproduce the core figure with one command:

curl -s https://cdn.tglivechat.com/index.mjs | gzip -9 -c | wc -c

To measure any widget on any site, including ours on yours, open DevTools, go to Network, filter by the vendor domain and hard reload. Read the transfer column rather than the resource size column, because transfer is what crossed the wire after compression. Then look at the Performance tab for scripting time. That is the whole method, and it takes about two minutes.

What to do if your widget is heavy

You have three options and they are not equally good. The first is to defer it: load the widget on first scroll or behind a placeholder button rather than on page load. That works with any vendor and it is the biggest single improvement available, at the cost of the chat not existing for the first second.

The second is to check whether your vendor already defers. Zoho SalesIQ and LiveAgent both hold most of their code back until somebody opens the chat, which is why they measure well despite being full products. If yours does this, you may have no problem at all.

The third is to change vendor, which is worth it only if the weight is buying you nothing. A 300KB widget attached to a helpdesk your team lives in is a reasonable trade. A 749KB widget where 500KB is an unused image is not.

The bottom line

Measure yours before you decide anything. The published numbers here are a starting point, not your number, because your configuration and your theme change the answer.

If the widget is heavy and you are getting a helpdesk for it, keep it. If it is heavy and you are getting a chat bubble, defer it or replace it. The one thing not worth doing is leaving half a megabyte on every page because nobody owns the decision.

Frequently asked questions

How heavy is too heavy for a chat widget?
Under about 50KB compressed and you can stop thinking about it. Between 50KB and 150KB is fine if the widget defers most of its code until somebody opens the chat. Above 300KB you should be asking what it is doing, and the answer is usually a pile of features nobody on your site has turned on. DebugBear measured the heaviest mainstream widget at 749KB.
Does widget size actually affect Google rankings?
Indirectly, through Core Web Vitals. Weight on its own is not a ranking factor, but a heavy widget pushes Largest Contentful Paint and Total Blocking Time in the wrong direction, and those are. The effect is much larger on a mid range phone over mobile data than on the laptop you are reading this on, which is why widget weight tends to get dismissed by the people least affected by it.
Why is download size not the whole story?
Because a browser has to parse and execute the JavaScript after it arrives, and that costs main thread time the visitor feels as a page that will not respond to taps. DebugBear measured execution time between 259ms for Zoho SalesIQ and 991ms for Zendesk. Zendesk downloads less than Tawk.to but does far more work once it lands.
How is Tawk.to 749KB when it is a simple chat widget?
DebugBear found that most of it is a single 500KB SVG image that does not appear to be used anywhere on the page. It is not that the chat needs 749KB; it is that 500KB of it is shipped for no visible reason.
How do I measure my own widget?
Open DevTools, go to the Network tab, filter by the widget vendor domain, and hard reload. Read the transfer column, not the resource size column, because transfer is what actually crossed the wire after compression. Then check the Performance tab for scripting time. It takes about two minutes and it is the only number that reflects your own configuration.
How big is the TGLiveChat widget?
About 26KB gzipped across 3 requests: a 594 byte loader, a 19,544 byte core, and exactly one theme chunk between 4,326 and 8,806 bytes. Only the theme you actually use is downloaded, which is why the real range is 24KB to 28KB rather than one figure. You can check the core yourself with a single curl command, which is in the method section above.
Does adding more themes make the widget heavier?
No. Each of the 32 themes builds to its own chunk and the visitor downloads exactly one. Adding a theme adds nothing for anybody who does not use it. This is worth checking with any vendor advertising a large theme library, because the alternative implementation ships all of them to everybody.
Should I lazy load the chat widget myself?
If your vendor does not defer its own code, yes, and it is the single biggest improvement available to you. Load the widget on first scroll, or on a click of a placeholder button, rather than on page load. The trade off is that the chat is not there for the first second or two, which for most sites is a fair exchange.

Sources and references

  • DebugBear: How Do Different Chat Widgets Impact Site Performance? Published 14 July 2019, updated 10 November 2025. Source of every competitor figure on this page.
  • Google: Core Web Vitals Definitions of Largest Contentful Paint, Interaction to Next Paint and Cumulative Layout Shift.
  • Google: Total Blocking Time Why main thread work, rather than download size, is what a visitor feels as unresponsiveness.
  • Chrome DevTools: Network reference The transfer versus resource size distinction used in the method above.

Competitor measurements belong to DebugBear and are cited for comparison. We measure our own widget and nobody else's.

Related guides

What live chat actually costsEntry prices, per seat maths and what removing the branding costs, per vendor.How we measure and priceThe method behind every number on this site, and what we refuse to publish.Some chat widgets weigh 750KBThe longer read, with what half a megabyte does to load time.Shadow DOM for chat widgetsWhy an embedded widget belongs in a shadow root, and what breaks without one.Adding a chat widget to Next.jsThe loading pattern that does not cost you twenty Lighthouse points.What a Telegram chat widget isReal two way chat on your page against a button that opens t.me.
TGLiveChat logoTGLiveChat

Live chat widget for your website. Every visitor message goes straight to Telegram. You reply from your phone, not a dashboard.

[email protected]

Product

  • Telegram Chat Widget
  • Themes
  • Pricing
  • Lifetime Deal
  • Docs
  • Install Guides
  • Favicon Generator
  • Changelog

Platforms

  • WordPress
  • Shopify
  • Webflow
  • Squarespace
  • Wix
  • Next.js
  • React
  • All platforms

Compare

  • vs Intercom
  • vs Tawk.to
  • vs Crisp
  • vs Elfsight
  • Intercom alternative
  • Tawk.to alternative
  • Zendesk alternative
  • All alternatives

Data

  • Widget sizes measured
  • Live chat pricing
  • Tawk.to at 749KB
  • Intercom pricing
  • How we measure
  • Editorial policy
  • For agencies
  • For ecommerce

Guides

  • Chat widget speed benchmark
  • Best widgets for small business
  • Removing Tawk.to branding
  • Drift is shutting down
  • What live chat really costs
  • Why live chat gets ignored
  • Widget loading in Next.js
  • All articles

Company

  • About
  • Contact
  • For SaaS
  • Privacy
  • Terms
  • Refund Policy
  • Acceptable Use

TGLiveChat is independent and not affiliated with, endorsed by, or sponsored by Telegram Messenger or Telegram FZ LLC. Other product names and prices belong to their owners and are quoted with the date we checked them.

© 2026 Outline Technologies LLC. All rights reserved.30 N Gould St, Ste R, Sheridan, WY 82801, US

TermsPrivacyRefundAcceptable UseMethodologyEditorial