Joint stiffness defines the dynamic relationship between the position of the joint and the torque acting about it. Joint stiffness is composed of two components: intrinsic and reflex stiffness. Separating the two stiffness components is difficult because they appear and change together. A number of approaches have been used to distinguish the components, but all these are inherently off-line. We have developed a novel algorithm that estimates the two components of ankle stiffness in real time. Cross-correlations between torque and position, velocity, and acceleration are used to estimate intrinsic stiffness. The reflex torque is then estimated by subtracting the estimated intrinsic components and the reflex stiffness estimated by computing the impulse response function (IRF) between the estimated reflex torque and the half-wave rectified velocity. A novel position perturbation, consisting of pseudo-random pulses of different lengths, is used to eliminate covariance between intrinsic and reflex stiffness estimates. Simulation results showed that the algorithm estimates intrinsic and reflex stiffness very accurately and responds to changes in stiffness in less than 15 s. Validation with experimental data showed that the real-time estimates were in close agreement with the estimates generated by an established off-line intrinsic and reflex stiffness identification algorithm.