This document presents an online dictionary learning algorithm for sparse coding. It proposes solving the dictionary learning problem using an online approach that can handle large datasets and adapt to dynamic training sets much faster than batch algorithms. The online dictionary learning algorithm alternates between sparse coding and dictionary learning steps on minibatches of data. Experimental results show it converges much faster than batch approaches and other online methods like SGD. The algorithm is also extended to problems like NMF and sparse PCA.