  In this work, we present a generic approach to transform CSS codes by
building upon their equivalence to phase-free ZX diagrams. Using the ZX
calculus, we demonstrate diagrammatic transformations between encoding maps
associated with different codes. As a motivating example, we give explicit
transformations between the Steane code and the quantum Reed-Muller code, since
by switching between these two codes, one can obtain a fault-tolerant universal
gate set. To this end, we propose a bidirectional rewrite rule to find a (not
necessarily transversal) physical implementation for any logical ZX diagram in
any CSS code.
  Then we focus on two code transformation techniques: code morphing, a
procedure that transforms a code while retaining its fault-tolerant gates, and
gauge fixing, where complimentary codes can be obtained from a common subsystem
code (e.g., the Steane and the quantum Reed-Muller codes from the [[15,1,3,3]]
code). We provide explicit graphical derivations for these techniques and show
how ZX and graphical encoder maps relate several equivalent perspectives on
these code-transforming operations.
