自成攻陷北京，他投降大顺，任职防御使；不久往南投奔隆武朝廷，依旧为庶吉士，曾为其叔父张瑞图请谥。福京沦陷，张元琳投降清朝，随即在顺治四年（1647年）任职按察使司副使，佟养甲派他招降张家玉，被对方斥责；同年五月任命为广东按察使司佥事，管布政使司岭西道参议事。李成栋反正，他跟随前往永历朝廷，广东督粮参议、岭西道参政，官至太仆卿。