In this paper we formalize a combinatorial object for describing link diagrams called a Planar Diagram Code (PD-Code). PD-codes are used by the KnotTheory Mathematica package developed by Bar-Natan et al. We present the set of PD-codes as a standalone object and discuss its relationship with link diagrams. We give an explicit algorithm for reconstructing a knot diagram on a surface from a PD-code. We also discuss the intrinsic symmetries of PD-codes (i.e. invertibility and chirality). The moves analogous to the Reidemeister moves are also explored, and we show that the given set of PD-codes modulo these combinatorial Reidemeister moves is equivalent to classical link theory.