Nov 21, 2022
Web Renderers: Which One to Choose Html or Canvaskit?
Choosing which web renderer to use based on the content of the web application can be difficult. This article will explain the differences between renderers, their advantages and disadvantages, performance insights, and so on.
Author


Book a call
Table of Contents
- Types of renderers and how to get started.
- Performance comparison of these renderers.
- Conclusion and which one to choose?
Defining these Renderers
Compared to our Flutter mobile app, which uses Skia to draw the application, we presently have two rendering choices for Flutter web: HTML and WebGL. One is HTML, which is rendered on the web using DOM Canvas APIs. Flutter renders in WebGL using CanvasKit, a version of Skia converted to WebAssembly. When these two are compared, HTML has the best code size characteristics; but CanvasKit has the shortest access to the browser's graphics stack and superior graphical fidelity with native mobile targets.

How to Get Started with These Renderers?
flutter run -d chrome since we have not specified the renderer option Flutter takes auto as the default value. Coming to these values, flutter has three different values to run our application on the web asauto- by default; this is determined by the platform on which our web application is operated. HTML renderer is selected if it is operating on a mobile browser. Canvaskit is chosen if it is running on a desktop browser.html- to use HTML Renderer and in the command line, we can do that byflutter run -d chrome --web-renderer htmlcanvaskit- to use canvaskit as renderer type and in the command line, we can employflutter run -d chrome --web-renderer canvaskit
`flutter build web --web-renderer canvaskit`We can also override the renderer configuration during runtime by adding the <script> tag in the web/index.html file.
So in place of yourValue, we can set the value to true if we want to run in the HTML renderer and set yourValue to false to run in the CanvasKit renderer.
Performance Comparison Between Two Renderers
- HTML Renderer
- CanvasKit Renderer
Here is what it looks like:



Remember that both websites were tested in Google Chrome Incognito mode with an internet speed of 50mb/s and were hosted on Firebase.
The Analysis
By leaving the default settings in Chrome Lighthouse and selecting a Desktop mode for this article, the following findings were obtained.
A. CanvasKit Renderer

For some reason, the lighthouse appears as a Question Mark (error) for the Performance score for CanvasKit, the same as it appeared as an error for Largest Contentful Paint for CanvasKit render even after running it two or three times. However, if we focus on the First Contentful Paint, we can see that the canvas kit took roughly 0.6 seconds to complete, as well as other data such as the Time to interactive, shown in the image below.

Here is a video capturing CanvasKit Lighthouse performance:
B. HTML Renderer

While using the HTML renderer, the lighthouse received an excellent 97 points for performance. It was able to produce the First Contentful Paint in the same time as the Canvaskit renderer (0.6 seconds), and the HTML renderer was also able to render the Largest Contentful Paint in the same time as the Canvaskit renderer (1.0 seconds), as demonstrated in the image below.

So, to give you a complete comparison, here is the table below, from which we can see that even though the CanvasKit gave us an error, both renderers achieved the same number of SEO scores given that it will rely on website structure and contents as well.

The Game Changer - Performance Insights
ERROR generated by Largest Contentful Paint in providing a full narrative of these performances, the test was carried out in Performance Insights. These websites were then examined in Google Chrome's Performance Insights, where CanvasKit exhibited some severe difficulties.Here are the snapshots of two renderers that were tested in Performance Insights.

As seen in the photos above, Canvaskit did not load the Largest Contentful Paint when compared to HTML, where it displayed the time it took to load the Largest Contentful Paint. Another thing to note is the time it takes these renderers to load JS; CanvasKit took roughly 400 milliseconds, but HTML took less than 200 milliseconds, and the pictures and fonts were loaded quicker than CanvasKit. So, is it possible to state that the HTML renderer is far superior to CanvasKit? There was another catch to this question after performing these tests 4-5 times, CanvasKIt revealed some unexpected differences in the timeframe.
Comparing the Graph
Here is a line graph between these renderers and time to help you comprehend this time variance.

CanvasKit took approximately 9.56 seconds to load the material on average; why the phrase approximately? Because when the CanvasKit ran for the fifth time, it did not load the material to the main Renderer, and the time indicated by the Performance Insight is zero, the user did not receive any pictures or fonts.

On the bright side, HTML provided us with immaculate results every time the application was tested, giving us a timeline of fewer than 4.5 seconds, giving us an average of 2.548 seconds, and every time the test was conducted, it would load up the material in the Renderer (main). Furthermore, the HTML renderer provided the time for the Largest Contentful Paint, which is equal to the time for the First Contentful Paint.

Conclusion
- Choose the
htmloption if you are optimizing download size over performance on both desktop and mobile browsers. - Choose the
canvaskitoption if you are prioritizing performance and pixel-perfect consistency on both desktop and mobile browsers.
Finally, the next time you have to select between HTML and CanvasKit Renderer. It is important to consider what material is presented on the website, including any heavy animations, graphical content photos, paragraph shaping, custom shaders, or perspective modification. If it involves this sort of material, CanvasKit is a superior renderer choice; however, if the focus is on performance or delivering the content back to the user in a short amount of time, then HTML is the best option to go ahead with.
Subscribe to Our Newsletter
Subscribe to RSS
Press & Media Hub RSS FeedRelated Articles.
More from the engineering frontline.
Dive deep into our research and insights on design, development, and the impact of various trends to businesses.

Dec 11, 2025
Vibecode DB: The Type-Safe Database Abstraction Layer for Modern Web Apps

Oct 13, 2025
Progressive Web App Development (PWA) in the USA – A Complete Guide

Jan 8, 2025
Playwright and Lighthouse: The Ultimate Combination for Optimizing Web Performance

Dec 31, 2024
How to Use Data and Analytics to Optimize Healthcare Supply Chain

Dec 31, 2024
Using Tech Disruption for Value Creation in the Restaurant Business

Dec 31, 2024