Body text size
type:Smallest body text is 8px (base ~16px). below the ~16px readable floor.
FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.
saas · Aug 9, 2026
33/100 Sparse
Scores higher than 80% of 577 entry-page captures we have measured. Among the 311 saas funnels in that group, higher than 68%.
Walk 24 links seen, 18 walkable, and 0 matched a funnel step. If this funnel continues past the entry page, we did not reach it — everything below is measured from the entry page alone.
Measured by Roentgen 1.20.1 on 2026-08-09. A capture is read once and its measurements freeze there, so the stamp says which ruleset read this one.
Coverage is detection coverage, not a verdict — it counts the conversion tactics we could prove are present, out of the 11 that apply to a saas funnel. Per device: desktop 40 · mobile 25.
the entry page’s own title, headline, buttons and prices — quoted, never paraphrased
measuredextracted directly from the live page. a fact, not an opinionCapy QR — QR codes that actually look good. Free, no signup.
Free QR code generator with logos, colors, gradients, and frame borders. 12 types — Wi-Fi, vCard, WhatsApp, payments. No signup, no watermark.
Make a QR code that actually looks good.
1. What's inside?
2. Preview
3. Make it look good
Pretty by default. Powerful when you need it.
Frequently asked questions
Free
Starter
Pro+1 more, not shown
EN
Website
Text
Wi-Fi
Contact
SMS
Phone
Location+2 more, not shown
$0
$5
$60
$12
$144
structural bands identified on this funnel, cropped from its own capture
measuredextracted directly from the live page. a fact, not an opinion
conversion tactics we could prove are present, with the on-page text that evidences each
measuredextracted directly from the live page. a fact, not an opinion2. Preview Scan it with your phone — it works in real time.
free forever
Is Capy QR free?
applicable tactics we checked for and did not see on any step we reached
measuredextracted directly from the live page. a fact, not an opinionAbsence is a measurement, not a recommendation: we do not know why a tactic is missing, whether it belongs here, or whether adding it would change anything. Where a walk stopped early, a tactic living deeper would also read as not detected.
contrast, mobile, typography, accessibility, weight — each with what would fix it
measuredextracted directly from the live page. a fact, not an opinion4 of 12 measured checks need work1 could not be measured — not counted either way
26% of measurable text passes WCAG AA. 4+ runs fail.
worst: “QR code types” at 1.66:1 (12px, #c7c2d6 on #fafaf7). needs 4.5:1
FixRaise text/background contrast to ≥4.5:1 (≥3:1 for large text), especially on CTAs and body copy.
Smallest body text is 8px (base ~16px). below the ~16px readable floor.
FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.
10 images are shipped at more than 2x the width shown.
“feature-badge-dark.webp” is 2400px wide, displayed at 112px
FixServe responsive sizes (srcset/sizes) matching the rendered width.
101 of 123 interactive targets are under 44×44px on mobile.
smallest: “EN” at 48×24px
FixGive tappable controls a ≥44×44px hit area. the touch minimum.
10 paragraphs run past ~95 characters per line.
FixCap measure at ~60-75ch for comfortable reading.
type:No same-page “skip to content” link was found. Keyboard users tab through the whole nav on every page.
FixAdd a first-in-DOM <a href="#main"> that is visible on focus.
a11y:1 control has an aria-label that does not contain its visible text, so voice-control users cannot activate it by saying what they see.
FixMake the accessible name start with the visible label text.
a11y:5 stylesheets/scripts in <head> block first paint.
FixDefer non-critical JS (defer/async) and inline only critical CSS.
weight:12 elements look clickable but cannot be reached by keyboard.
FixUse <button>/<a>, or add role + tabindex="0" and a key handler.
structure:At least 0.8 MB across 48 measurable resources, but 25 cross-origin resources did not expose a size. The true weight cannot be determined from the page.
weight:palette by on-page usage · type rendered live
measuredextracted directly from the live page. a fact, not an opinionBody copy in their text role, on a surface card.
Body copy set at their measured paragraph size. This is how their product reads to a first-time visitor. same family, same scale, same weight.
layers we ran on this funnel that came back empty
measuredextracted directly from the live page. a fact, not an opinionElements — the atomic pieces — price anchors, ratings, guarantees — with their verbatim on-page text
Playbook match — which funnel play this page runs — measured, evidence-quoted
We ran these passes on the pages we captured and found nothing to show. That is a measurement of this funnel, not a recommendation — and it is a different statement from a layer we never ran, which does not appear here at all.