Low-fidelity prototypes are quickly constructed to depict concepts, design alternatives, and screen layouts, rather than to model the user interaction with a system. Low-fidelity prototypes provide limited or no functionality. They are intended to demonstrate the general look and the feel of the interface, but not the detail how the application operates. They are created to communicate and exchange ideas with the users, but not to serve as a basis for coding and testing. A facilitator who knows the application thoroughly is generally needed to demonstrate the prototype to the users.
In contrast, high-fidelity prototypes are fully interactive, simulating much of the functionality in the final product. Users can operate on the prototype, or even perform some real tasks with it. High-fidelity prototypes are not as quick and easy to create as low-fidelity prototypes, but they faithfully represent the interface to be implemented in the product. Medium-fidelity prototypes partially simulate the system interaction and functionality.