In short
Prototype an interaction at the lowest fidelity that still lets you test the actual question you have — often a simple click-through mockup is enough to validate a flow's logic, while a more interactive prototype is needed only when the specific feel of a micro-interaction is what's actually in question.
Match fidelity to the actual question
The most common prototyping mistake is defaulting to high fidelity (a fully interactive, polished prototype) regardless of what's actually being tested. If the question is "does this flow's logic make sense," a simple click-through mockup with static screens answers it just as well as a fully built interactive version, at a fraction of the effort — save high fidelity for when the specific feel of an interaction (a transition, a gesture) is the actual thing in question.
What a low-fidelity prototype tests well
Overall flow logic, information architecture, and whether users understand what each screen is for — these don't require pixel-perfect visuals or real interactivity to validate. A hand-drawn or wireframe click-through is often sufficient and faster to iterate on than a polished version, precisely because it invites feedback on structure rather than visual details.
What actually needs higher fidelity
Micro-interactions, animation timing, and anything where the specific feel — not just the logical outcome — is the design question, genuinely benefit from a more interactive, closer-to-final prototype. If you're deciding between two different transition styles, a static mockup can't answer that question; you need something that actually moves.
Prototyping before engineering commitment
The core value of prototyping is catching a structural or usability problem before it's expensive to fix — a confusing flow found in a prototype costs an afternoon to redesign; the same confusion found after the flow is built in production code costs a redesign plus a rebuild. This is the economic argument for prototyping even simple things that feel like they don't need it.
Testing a prototype with real people
A prototype is only as useful as the feedback gathered from it — put it in front of a handful of people who represent your real target user and watch where they hesitate or get confused, the same discipline as a full usability test, just applied earlier and more cheaply, before any commitment to build.
Knowing when a prototype is good enough to build from
A prototype is ready to hand off to engineering when it's answered its key open questions — the flow logic is validated, any uncertain interactions have been tested and decided — not when it's been polished to look identical to the final product. Continuing to refine visual polish in a prototype past the point where the real questions are answered is time better spent starting the actual build.
Tools matter less than the discipline
Whether you use a dedicated prototyping tool, a simple slideshow of static screens, or even paper sketches shown in sequence, the tool matters far less than actually testing the prototype against real people before committing engineering time — the discipline of testing early is the actual value, not the sophistication of the prototyping tool used.
Primary source: the W3C Design Tokens Community Group documents the specifics referenced above.
Common questions
Do I always need a high-fidelity, interactive prototype?
No — match fidelity to the question being tested. Flow logic and structure can often be validated with simple static click-throughs; only specific interaction feel (animation, transitions) needs higher fidelity.
How do I know when a prototype is ready to build from?
When its key open questions are answered — flow logic validated, uncertain interactions tested — not when its visual polish matches the final product.
Is it worth testing a low-fidelity prototype with real users?
Yes — even simple, static prototypes tested with a handful of real users catch structural and usability problems far more cheaply than finding the same issues after the flow is built in production.