This report, like the previous one, we will focus on the size of CSS. We are going to find out how much CSS is needed to create a site.
Sites audited in this report:
- Bayer 04 Leverkusen
- Borussia Dortmund GmbH
- Borussia Mönchengladbach
- Bundesliga site
- DSC Arminia Bielefeld
- Eintracht Frankfurt
- FC Augsburg
- FC Bayern München
- FC Köln
- FC Schalke 04
- FC Union Berlin
- FSV Mainz 05
- Hertha Berlin
- RB Leipzig
- SV Werder Bremen
- Sport-Club Freiburg
- TSG Hoffenheim
- VfB Stuttgart
- VfL Wolfsburg
Note that we included the Bundesliga official site and all its clubs.
The Tooling
Just like in the previous report, we used the following tools:
Using these tools, we extracted information about UI frameworks and the size of External CSS, Style tag CSS, and Inline CSS, where:
- External CSS refers to CSS code that comes from external CSS files,
- Style Tag CSS refers to CSS code that comes from the
<style>
tags, and - Inline CSS refers to CSS code that comes from the inline
style
attributes.
Since we stumbled upon some errors while extracting the CSS code from these sites, like repetitive CSS files or <style>
tags, we removed it from the report. The data collected might slightly differ from the actual data, but it is still close enough to get the “big picture” about CSS sizes.
To make the text more readable, the terms “site” and “homepage” refer to the same thing: the site’s homepage.
⚠️ Any errors in the report that might be caused by invalid software are not deliberate and should be considered involuntary.
The CSS File Sizes
Site | Size | Gzip | |
---|---|---|---|
Largest External CSS | Eintracht Frankfurt | 1.5 MB | 169.53 kB |
Smallest External CSS | FC Köln | 94.18 kB | 15.01 kB |
Average size of External CSS | - | 654.33 kB | 104.29 kB |
Largest Style tag CSS | FC Bayern München | 293.88 kB | 35.91 kB |
Smallest Style tag CSS | VfB Stuttgart | 29 B | 69 B |
Average size of Style tag CSS | - | 72.95 kB | 9.58 kB |
Largest Inline CSS | FC Union Berlin | 10.08 kB | 12.83 kB |
Smallest Inline CSS | FC Köln | 422 B | 509 B |
Average size of Inline CSS | - | 2.51 kB | 2.83 kB |
The Findings
An average page of the Bundesliga site loads ~712.69KB of CSS code. Compared to the Premier League report, that is 3.30% less CSS code. ~89.66% of the CSS code comes from the External CSS file, ~10% comes from the <style>
tags, and ~0.34% comes from the inline style
attributes. Compared to the Premier League report, an average Bundesliga site uses ~3.56% more External CSS, ~39.76% less CSS coming from the <style>
tags, and ~3.54% less from inline style
attributes.
Site | Size | ||
---|---|---|---|
Bayer 04 Leverkusen | External CSS: 596.89 kB | Style tag CSS: 245 B | Inline CSS: 977 B |
Borussia Dortmund GmbH | External CSS: 723.96 kB | Style tag CSS: 38.46 kB | Inline CSS: 1.46 kB |
Borussia Mönchengladbach | External CSS: 1.08 MB | Style tag CSS: 18.8 kB | Inline CSS: 2.4 kB |
DSC Arminia Bielefeld | External CSS: 210.63 kB | Style tag CSS: 6.99 kB | Inline CSS: 4.76 kB |
Eintracht Frankfurt | External CSS: 1.5 MB | Style tag CSS: 5.15 kB | Inline CSS: 2.18 kB |
FC Augsburg | External CSS: 403.73 kB | Style tag CSS: 39.68 kB | Inline CSS: 2.03 kB |
FC Bayern München | External CSS: 1.05 MB | Style tag CSS: 293.88 kB | Inline CSS: 2.25 kB |
FC Köln | External CSS: 94.18 kB | Style tag CSS: 234.51 kB | Inline CSS: 422 B |
FC Schalke 04 | External CSS: 1 MB | Style tag CSS: 235.6 kB | Inline CSS: 3.65 kB |
FC Union Berlin | External CSS: 261.37 kB | Style tag CSS: 525 B | Inline CSS: 10.08 kB |
FSV Mainz 05 | External CSS: 770.31 kB | Style tag CSS: 39 B | Inline CSS: 1.79 kB |
Hertha Berlin | External CSS: 515.57 kB | Style tag CSS: 39 B | Inline CSS: 2.36 kB |
RB Leipzig | External CSS: 896.48 kB | Style tag CSS: 582 B | Inline CSS: 591 B |
Sport-Club Freiburg | External CSS: 437.86 kB | Style tag CSS: 39.9 kB | Inline CSS: 1.64 kB |
SV Werder Bremen | External CSS: 835.82 kB | Style tag CSS: 34.09 kB | Inline CSS: 4.97 kB |
TSG Hoffenheim | External CSS: 794.91 kB | Style tag CSS: 234.58 kB | Inline CSS: 2.36 kB |
VfB Stuttgart | External CSS: 575.81 kB | Style tag CSS: 29 B | Inline CSS: 507 B |
VfL Wolfsburg | External CSS: 543.14 kB | Style tag CSS: 2.55 kB | Inline CSS: 484 B |
Bundesliga site | External CSS: 149.54 kB | Style tag CSS: 200.36 kB | Inline CSS: 2.83 kB |
All Bundesliga sites use External CSS. Eintracht Frankfurt loads almost 1.5MB, Borussia Mönchengladbach, FC Bayern München and Schalke 04 use about ~ 1MB.
Every Bundesliga site uses the <style>
tag. FC Bayern München loads the most CSS, 287KB. Following are Schalke 04 with 230.07KB, Hoffenheim with 229.08KB, and FC Köln with 229.01KB. Sites with the least <style>
tag CSS code count only a few bytes, like Mainz 05 and Hertha.
As for the inline style
attribute, everyone uses it too. Union Berlin uses the most with 9.84KB, Arminia Bielefeld and SV Werder Bremen use half of that, and Köln uses the least, only 422B.
Wappalyzer
According to Wappalyzer, four sites use UI frameworks. Borussia Dortmund uses Materialize CSS. Hoffenheim, Schalke 04, and Mainz 05 use Bootstrap.
Site | UI framework |
---|---|
Borussia Dortmund GmbH | Materialize CSS |
FC Schalke 04 | Bootstrap |
FSV Mainz 05 | Bootstrap |
TSG Hoffenheim | Bootstrap |
According to research conducted by the State Of CSS, satisfaction with Bootstrap is declining. In 2019, 52% of respondents claimed they are satisfied, while the following year, the satisfaction dropped to 48%. Interest in Bootstrap in both years is held by 17% of all respondents. Usage fell from 87% to 86% within one year, and awareness ratio rankings for both years are 100%.
For Materialize CSS, satisfaction fell from 57% to 53%, just like the interest fell from 37% to 29%. The usage has increased from 30% to 33%, just like the awareness increased from 72% to 76%.
Bootstrap and Materialize CSS are the two most used frameworks, and Bundesliga sites follow the statistics here.
In comparison to four Bundesliga sites (out of 19 total) that use UI frameworks, only three Premier League sites (out of 21 total) use them.
The CSS File Counts
Site | Count | |
---|---|---|
Largest number of External CSS | Bundesliga site | 40 |
Smallest External CSS | FC Augsburg | 1 |
Average size of External CSS | - | 8 |
Largest Style tag CSS | Bundesliga site | 39 |
Smallest Style tag CSS | Hertha Berlin | 1 |
Average size of Style tag CSS | - | 5 |
Largest Inline CSS | FC Union Berlin | 154 |
Smallest Inline CSS | VfL Wolfsburg | 5 |
Average size of Inline CSS | - | 30 |
The Findings
The average Bundesliga site’s homepage loads 8 External CSS files, 5 <style>
tags, and 30 style
attributes.
Site | Count | ||||
---|---|---|---|---|---|
Bayer 04 Leverkusen | External CSS: 2 | Bayer 04 Leverkusen | Style tag CSS: 1 | Bayer 04 Leverkusen | Inline CSS: 11 |
Borussia Dortmund GmbH | External CSS: 17 | Borussia Dortmund GmbH | Style tag CSS: 3 | Borussia Dortmund GmbH | Inline CSS: 20 |
Borussia Mönchengladbach | External CSS: 6 | Borussia Mönchengladbach | Style tag CSS: 1 | Borussia Mönchengladbach | Inline CSS: 14 |
DSC Arminia Bielefeld | External CSS: 15 | DSC Arminia Bielefeld | Style tag CSS: 3 | DSC Arminia Bielefeld | Inline CSS: 65 |
Eintracht Frankfurt | External CSS: 6 | Eintracht Frankfurt | Style tag CSS: 1 | Eintracht Frankfurt | Inline CSS: 25 |
FC Augsburg | External CSS: 1 | FC Augsburg | Style tag CSS: 3 | FC Augsburg | Inline CSS: 25 |
FC Bayern München | External CSS: 3 | FC Bayern München | Style tag CSS: 16 | FC Bayern München | Inline CSS: 36 |
FC Köln | External CSS: 4 | FC Köln | Style tag CSS: 4 | FC Köln | Inline CSS: 6 |
FC Schalke 04 | External CSS: 10 | FC Schalke 04 | Style tag CSS: 8 | FC Schalke 04 | Inline CSS: 38 |
FC Union Berlin | External CSS: 2 | FC Union Berlin | Style tag CSS: 3 | FC Union Berlin | Inline CSS: 154 |
FSV Mainz 05 | External CSS: 4 | FSV Mainz 05 | Style tag CSS: 1 | FSV Mainz 05 | Inline CSS: 23 |
Hertha Berlin | External CSS: 15 | Hertha Berlin | Style tag CSS: 1 | Hertha Berlin | Inline CSS: 22 |
RB Leipzig | External CSS: 5 | RB Leipzig | Style tag CSS: 3 | RB Leipzig | Inline CSS: 9 |
Sport-Club Freiburg | External CSS: 17 | Sport-Club Freiburg | Style tag CSS: 6 | Sport-Club Freiburg | Inline CSS: 17 |
SV Werder Bremen | External CSS: 3 | SV Werder Bremen | Style tag CSS: 2 | SV Werder Bremen | Inline CSS: 51 |
TSG Hoffenheim | External CSS: 6 | TSG Hoffenheim | Style tag CSS: 5 | TSG Hoffenheim | Inline CSS: 30 |
VfB Stuttgart | External CSS: 3 | VfB Stuttgart | Style tag CSS: 2 | VfB Stuttgart | Inline CSS: 5 |
VfL Wolfsburg | External CSS: 4 | VfL Wolfsburg | Style tag CSS: 2 | VfL Wolfsburg | Inline CSS: 5 |
Bundesliga site | External CSS: 40 | Bundesliga site | Style tag CSS: 39 | Bundesliga site | Inline CSS: 31 |
- External CSS
- Style tag CSS
- Inline CSS
Augsburg loads only one, Bayer Leverkusen and Union Berlin load two, while the Bundesliga site loads 40 External CSS files.
All Bundesliga sites use <style>
tags. Bayer Leverkusen, Borussia Mönchengladbach, Eintracht Frankfurt, Mainz 05 and Hertha use a single <style>
tag. The Bundesliga site loads 39 <style>
tags, and the second largest in the group is FC Bayern München with 16 <style>
tags. Other clubs range from 2 to 8 <style>
tags.
Every Bundesliga site uses inline style
attributes, too. Köln, Stuttgart, and Wolfsburg use only a few style
attributes, Arminia Bielefeld and SV Werder Bremen use about 60 style
attributes, while Union Berlin uses as many as 154 style
attributes.
Top and Bottom Sites
Top three Bundesliga sites in terms of CSS file size are:
- Arminia Bielefeld,
- Union Berlin, and
- Köln.
On the other side, the bottom three sites in terms of CSS file size are:
- Eintracht Frankfurt,
- FC Bayern München, and
- FC Schalke 04.
The Conclusion
Even though the average Bundesliga's homepage CSS size is slightly lighter than the average Premier League's homepage CSS size, it is still too big.
According to the httparhive report, the sum of transfer size kilobytes of all external stylesheets requested by the page for median desktop is 73.3KB, while the median mobile is 68.7KB. If we look at the last three years, CSS file size increased more than 30%.
The trend of loading more CSS code every year is continuing. With modern technologies like CSS Grid and CSS Variables that should take over CSS frameworks, one might expect a different outcome. We certainly hope that will be the case in the following years.
Related resources
- Article: On CSS sizes and performance budget
- Report: The CSS File Size and Count Report for Premier League sites
Complete Report
Count | Size | Gzip | |
---|---|---|---|
Bayer 04 Leverkusen | |||
External CSS | 2 | 596.89 kB | 101.56 kB |
Style tag CSS | 1 | 245 B | 161 B |
Inline CSS | 11 | 977 B | 1.12 kB |
Borussia Dortmund GmbH | |||
External CSS | 17 | 723.96 kB | 115.8 kB |
Style tag CSS | 3 | 38.46 kB | 6.61 kB |
Inline CSS | 20 | 1.46 kB | 1.71 kB |
Borussia Mönchengladbach | |||
External CSS | 6 | 1.08 MB | 196.02 kB |
Style tag CSS | 1 | 18.8 kB | 3.45 kB |
Inline CSS | 14 | 2.4 kB | 1.8 kB |
DSC Arminia Bielefeld | |||
External CSS | 15 | 210.63 kB | 47.67 kB |
Style tag CSS | 3 | 6.99 kB | 2 kB |
Inline CSS | 65 | 4.76 kB | 5.54 kB |
Eintracht Frankfurt | |||
External CSS | 6 | 1.5 MB | 169.53 kB |
Style tag CSS | 1 | 5.15 kB | 1.43 kB |
Inline CSS | 25 | 2.18 kB | 2.38 kB |
FC Augsburg | |||
External CSS | 1 | 403.73 kB | 60.17 kB |
Style tag CSS | 3 | 39.68 kB | 6.76 kB |
Inline CSS | 25 | 2.03 kB | 2.28 kB |
FC Bayern München | |||
External CSS | 3 | 1.05 MB | 111.85 kB |
Style tag CSS | 16 | 293.88 kB | 35.91 kB |
Inline CSS | 36 | 2.25 kB | 2.8 kB |
FC Köln | |||
External CSS | 4 | 94.18 kB | 15.01 kB |
Style tag CSS | 4 | 234.51 kB | 23.9 kB |
Inline CSS | 6 | 422 B | 509 B |
FC Schalke 04 | |||
External CSS | 10 | 1 MB | 108.65 kB |
Style tag CSS | 8 | 235.6 kB | 24.55 kB |
Inline CSS | 38 | 3.65 kB | 3.92 kB |
FC Union Berlin | |||
External CSS | 2 | 261.37 kB | 39.09 kB |
Style tag CSS | 3 | 525 B | 310 B |
Inline CSS | 154 | 10.08 kB | 12.83 kB |
FSV Mainz 05 | |||
External CSS | 4 | 770.31 kB | 270.01 kB |
Style tag CSS | 1 | 39 B | 54 B |
Inline CSS | 23 | 1.79 kB | 2.06 kB |
Hertha Berlin | |||
External CSS | 15 | 515.57 kB | 76.92 kB |
Style tag CSS | 1 | 39 B | 54 B |
Inline CSS | 22 | 2.36 kB | 2.4 kB |
RB Leipzig | |||
External CSS | 5 | 896.48 kB | 129.7 kB |
Style tag CSS | 3 | 582 B | 304 B |
Inline CSS | 9 | 591 B | 727 B |
Sport-Club Freiburg | |||
External CSS | 17 | 437.86 kB | 77.24 kB |
Style tag CSS | 6 | 39.9 kB | 7.09 kB |
Inline CSS | 17 | 1.64 kB | 1.71 kB |
SV Werder Bremen | |||
External CSS | 3 | 835.82 kB | 125.07 kB |
Style tag CSS | 2 | 34.09 kB | 6.1 kB |
Inline CSS | 51 | 4.97 kB | 5.22 kB |
TSG Hoffenheim | |||
External CSS | 6 | 794.91 kB | 113.9 kB |
Style tag CSS | 5 | 234.58 kB | 24.01 kB |
Inline CSS | 30 | 2.36 kB | 2.73 kB |
VfB Stuttgart | |||
External CSS | 3 | 575.81 kB | 82.56 kB |
Style tag CSS | 2 | 29 B | 69 B |
Inline CSS | 5 | 507 B | 523 B |
VfL Wolfsburg | |||
External CSS | 4 | 543.14 kB | 108.91 kB |
Style tag CSS | 2 | 2.55 kB | 779 B |
Inline CSS | 5 | 484 B | 534 B |
Bundesliga site | |||
External CSS | 40 | 149.54 kB | 31.77 kB |
Style tag CSS | 39 | 200.36 kB | 38.56 kB |
Inline CSS | 31 | 2.83 kB | 2.99 kB |