blades.ninja
Ranks Overall #1,642 Built Awesome #1,067
Data from Oct 2, 2026, 11:00 PM UTC old Measured once a week · 7 runs since Aug 20, 2026
Elsewhere:
PageSpeed Insights ·
Calibre ·
Treo ·
CrUX Vis ·
Tame the Bots ·
Scoring Calculator ·
Wayback Machine
https://blades.dev/.
Lighthouse follows the redirect, so the numbers below describe the destination page, not this one. The destination has not been consistent across recent runs — that pattern usually means an A/B test or a geo split rather than a move.
Lab data is measured using Lighthouse, Mobile mode unless otherwise specified. Field data is reported from Chrome UX Report (using p75 measurements).
Stack
Lighthouse Scores LAB Simulated
Metrics LAB
No field data: the Chrome UX Report is not being collected for this project, so every figure below is from the Lighthouse run.
| Metric | Lab Simulated | ||
|---|---|---|---|
| Value | Change / range | Trend | |
| LCP CWV (estimate) Largest Contentful Paint | 3.47 s needs work | ↓ -671 ms (-16.2%) 2.65 s – 7.30 s | |
| INP CWV Interaction to Next Paint — field only, no lab run can measure it | n/a | — | |
| CLS CWV (estimate) Cumulative Layout Shift | 0.002 good | ↑ +0.001 (+100%) 0 – 0.005 | |
| TBT Total Blocking Time | 210 ms needs work | ↑ +51 ms (+32.1%) 95 ms – 210 ms | |
| FCP First Contentful Paint | 2.56 s needs work | ↓ -447 ms (-14.8%) 1.82 s – 4.04 s | |
| Speed Index | 2.56 s good | ↓ -447 ms (-14.8%) 1.82 s – 4.04 s | |
| TTFB Time to First Byte | 603 ms good | → no change 603 ms – 845 ms | |
LCP Subparts LAB Unthrottled
The subparts attribute LCP to your server, resource discovery, download, or rendering. Note that the Lab LCP shown above is a simulated throttled estimate.
Page weight
| Metric | Value | Change / range | Trend |
|---|---|---|---|
| Page Weight | 639 kB | ↑ +5.2 kB (+0.8%) 630 kB – 639 kB | |
| Requests | 45 | → no change 43 – 46 | |
| Third-party Weight | 638 kB | ↑ +5.2 kB (+0.8%) 606 kB – 638 kB | |
| Third-party CPU | 124 ms | ↑ +22 ms (+22%) significant 78 ms – 124 ms | |
| Unused JS | 146 kB | ↑ +1.5 kB (+1.1%) 138 kB – 146 kB | |
| Unused CSS | 39.8 kB | ↑ +38.9 kB 0 B – 39.8 kB |
By resource type
| Type | Transfer | Share | Size | Requests |
|---|---|---|---|---|
| script | 50.9% | 317 kB | 5 | |
| font | 38% | 236 kB | 2 | |
| stylesheet | 7.8% | 48.5 kB | 5 | |
| image | 2.3% | 14.6 kB | 15 | |
| document | 0.9% | 5.5 kB | 2 | |
| other | 0.1% | 727 B | 15 | |
| Total | 639 kB | 45 |
Third parties 8 entities
| Entity | Transfer | Size | Main thread Simulated |
|---|---|---|---|
| Google Tag Manager | 306 kB | 113 ms | |
| JSDelivr CDN | 291 kB | 2 ms | |
| blades.dev | 22.8 kB | 5 ms | |
| gstatic.com | 10.5 kB | 0 ms | |
| zgo.at | 4.3 kB | 5 ms | |
| All 8 | 638 kB | 124 ms |
Page health
| Metric | Value | Change / range | Trend |
|---|---|---|---|
| Main Thread Work | 1.22 s | ↑ +176 ms (+16.9%) 841 ms – 5.25 s | |
| Long Tasks | 5 | → no change 3 – 5 | |
| DOM Elements | 522 | ↓ -2 (-0.4%) 501 – 524 | |
| Axe Violations Violating nodes from a full Axe CLI run (more than Lighthouse reports) | 33 | → no change 29 – 33 | |
| A11y Failures | 5 | → no change 5 – 5 | |
| A11y Failing Nodes | 34 | → no change 29 – 34 |
Main thread work
| Task | Time | Share | Duration Simulated |
|---|---|---|---|
| script evaluation | 36% | 434 ms | |
| other | 23% | 286 ms | |
| style layout | 20% | 248 ms | |
| script parse compile | 10% | 126 ms | |
| paint composite render | 5% | 63 ms | |
| parse HTML | 4% | 46 ms | |
| garbage collection | 1% | 16 ms | |
| Total | 1.22 s |
Axe violations axe-core 4.13.0, full rule set
33 violating nodes across 5 rules, 881 passing. This is a standalone Axe CLI run and is stricter than the subset Lighthouse already includes.
-
critical
image-alt— Images must have alternative text 18 nodesOffending elements (5 of 18)
-
a[href$="www.netlify.com"] > i > img<img src="https://www.google.com/s2/favicons?domain=www.netlify.com&sz=64"> -
dd:nth-child(8) > a[title="github.com"][target="_blank"][rel="noopener noreferrer"] > i > img<img src="https://www.google.com/s2/favicons?domain=github.com&sz=64"> -
a[title="webawesome.com"] > i > img<img src="https://www.google.com/s2/favicons?domain=webawesome.com&sz=64"> -
a[href$="mg8f26C"] > i > img<img src="https://www.google.com/s2/favicons?domain=discord.gg&sz=64"> -
a[href$="fastht.ml/"] > i > img<img src="https://www.google.com/s2/favicons?domain=fastht.ml&sz=64">
-
-
serious
color-contrast— Elements must meet minimum color contrast ratio thresholds 8 nodesOffending elements (5 of 8)
-
td:nth-child(1) > dl > .faded<dd class="faded">From standalone CSS helpers ...</dd> -
.curved<dd class="faded curved">... and original Pico CSS fork:</dd> -
.faded:nth-child(6)<dd class="faded">... no updates for 1 year</dd> -
li:nth-child(6) > ul > li:nth-child(1) > a[href$="pico/"] > sub<sub style="">(underlying fork)</sub> -
li:nth-child(6) > ul > li:nth-child(2) > a[href$="ninja/"] > sub<sub style="">(experimental add-ons)</sub>
-
-
serious
link-name— Links must have discernible text 5 nodesOffending elements
-
ul:nth-child(3) > li:nth-child(1) > a<a href="https://github.com/anyblades/blades"><i class="fa-brands fa-github fa-lg"></i></a> -
a[href$="BladesCSS"]<a href="https://x.com/BladesCSS"><i class="fa-brands fa-x-twitter fa-lg"></i></a> -
ul:nth-child(3) > li:nth-child(3) > a<a href="https://bsky.app/hashtag/BladesCSS?author=any.digital"><i class="fa-brands fa-bluesky"></i></a> -
ul:nth-child(3) > li:nth-child(4) > a<a href="https://mastodon.social/@anydigital/tagged/BladesCSS?boosts=1"><i class="fa-brands fa-mastodon fa-lg"></i></a> -
li:nth-child(5) > a[href$="buildawesome.one/"]<a href="https://buildawesome.one/"><i class="fa-brands fa-build-awesome faded"></i></a>
-
-
moderate
landmark-unique— Landmarks should have a unique role or role/label/title (i.e. accessible name) combination 1 nodeOffending element
-
header > nav<nav>
-
-
serious
object-alt— <object> elements must have alternative text 1 nodeOffending element
-
object<object data="https://buildawesome.one/gh-content.svg" class="dark-auto"></object>
-
Accessibility failures 5 of 26 audits
-
image-alt— Image elements do not have `[alt]` attributes 18 nodes -
color-contrast— Background and foreground colors do not have a sufficient contrast ratio. 8 nodes -
link-name— Links do not have a discernible name 5 nodes -
target-size— Touch targets do not have sufficient size or spacing. 2 nodes -
object-alt— `<object>` elements do not have alternate text 1 node
SEO failures 2 of 8 audits
-
link-text— Links do not have descriptive text 1 item -
image-alt— Image elements do not have `[alt]` attributes 18 items
Hygiene
Measurement log
Every stored run for this URL, newest first.
| When | Scores | Perf | LCP | CLS | TBT | Weight | Runs | Spread | Bench | Took | Archive |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Oct 2, 2026, 11:00 PM UTC | 84 | 3.47 s | 0.002 | 210 ms | 639 kB | 3/3 | ±23 | 2,455 -1% | 28.7s |
|
|
| Sep 25, 2026, 11:22 AM UTC | 79 | 4.14 s | 0.001 | 159 ms | 634 kB | 3/3 | ±26 | 2,498 0% | 28.9s |
|
|
| Sep 18, 2026, 8:55 AM UTC | 81 | 4.00 s | 0.002 | 124 ms | 632 kB | 3/3 | ±9 | 2,480 0% | 29.7s |
|
|
| Sep 11, 2026, 8:44 AM UTC | 94 | 2.65 s | 0.001 | 149 ms | 633 kB | 3/3 | ±3 | 2,326 -6% | 27s |
|
|
| Sep 4, 2026, 5:47 AM UTC | 84 | 3.95 s | 0.002 | 95 ms | 632 kB | 3/3 | ±28 | 3,319 +33% | 27.3s |
|
|
| Aug 28, 2026, 1:24 AM UTC | 65 | 7.30 s | 0 | 158 ms | 633 kB | 2/3 | ±24 | 2,409 -3% | 130.6s |
|
|
| Aug 20, 2026, 7:13 PM UTC | 67 | 7.18 s | 0.005 | 163 ms | 630 kB | 2/3 | ±15 | 2,266 -9% | 197.5s |
|
Embed this score
Use this web component to show blades.ninja's scores on any website, updated whenever this instance re-measures. Don’t forget to bundle the speedlify2-score.js component code into your site!
<speedlify2-score speedlify-url="https://www.speedlify.dev/" url="https://blades.ninja/"></speedlify2-score>