Run a word through an NFA by keeping the set of every state it could be in: follow every move, follow ε-moves, and let dead branches go.
This interactive visualization needs JavaScript.