A capsule network with dynamic routing achieves state-of-the-art performance on MNIST. The network uses capsules that output vectors, with vector length representing probability of existence and orientation representing instantiation parameters. Lower level capsules make predictions that are routed to higher level capsules using an iterative routing-by-agreement mechanism. Reconstruction is used as a regularizer, encouraging encoding of instantiation parameters in capsule vectors. The CapsNet achieves 0.25% error on MNIST with 3 routing iterations and reconstruction, outperforming CNN baselines.