Three dimensional (3D) toric codes are a class of stabilizer codes with local checks and come under the umbrella of topological codes. While decoding algorithms have been proposed for the 3D toric code on a cubic lattice, there have been very few studies on the decoding of 3D toric codes over arbitrary lattices. Color codes in 3D can be mapped to toric codes. However, the resulting toric codes are not defined on cubic lattice. They are arbitrary lattices with triangular faces. Decoding toric codes over an arbitrary lattice will help in studying the performance of color codes. Furthermore, gauge color codes can also be decoded via 3D toric codes. Motivated by this, we propose an efficient algorithm to decode 3D toric codes on arbitrary lattices (with and without boundaries).