张衡字建平,河内人。
祖父张嶷,西魏河阳太守。
父亲张光,北周万州刺史。
张衡幼怀大志,有鲠直之风。
十五岁,到太学学习。
他用心学习,认真研究,被同辈人所推许。
周武帝遭太后之丧,却与左右出去打猎。
张衡免冠露发,抓住武帝的坐骑,直言劝谏。
武帝嘉奖了他,赐他衣服一袭、良马一匹,提拔他当汉王侍读。
张衡又到沈重那里学习《三礼》,略略推究大意。
累次升迁,到任掌朝大夫。
隋高祖受禅登基后,拜授他为司门侍郎。
到晋王杨广为河北行台时,张衡历任刑部、度支二曹郎。
后因河北行台废置,授他为并州总管掾。
晋王杨广转而镇守扬州后,张衡又当他的总管掾。
晋王很亲重他。
张衡也尽忠竭力侍奉他。
夺太子之位的计谋,大多为张衡所提出。
因母丧离职,一年多后,重新作官,当扬州总管司马,赐缣采三百段。
开皇中,熙州人李英林聚众造反,设置文武百官。
朝廷以张衡为行军总管,率领步兵、骑兵五万人讨伐平定叛军。
授为开府,赐奴婢一百三十口,缣采五百段,另加金银和牲畜。
晋王为皇太子后,授张衡为右庶子,兼任给事黄门侍郎。
炀帝继位,他任给事黄门侍郎,升任银青光禄大夫,不久任御史大夫,很被炀帝亲近看重。
大业三年(607),炀帝到榆林郡后,回到太原,对张衡说:“我想到你家里去,你为我作东道主吧。”张衡于是赶到河内,与张家的人准备好牛肉美酒。
炀帝上太行山,开辟直路九十里,以到他家里。
炀帝很喜欢那里的山泉,留下来饮宴三天,因而对张衡说:“以前随先皇帝拜谒太行山的时候,途经洛阳,看到这里,深深遗憾不得相访,不料今日得遂夙愿。”张衡拜伏于地,谢谢皇上,并奉杯敬祝皇上。
炀帝更高兴,赐他住宅旁的田地三十顷,良马一匹,金带,缣采六百段,衣服一袭,御用食器一具。
张衡推辞,炀帝说:“天子到了哪里,之所以叫‘幸’,就是因为这。
不必推辞了。”张衡又给炀帝献食,炀帝下令赐给公卿,一直到卫士们,无不沾光。
张衡因是炀帝当藩王时的故交,恩宠无人可比,很有些骄贵。
次年,炀帝到汾阳宫,宴请随从官吏,特赐绢帛五百匹。
当时炀帝想扩建汾阳宫,让张衡和纪弘整画好图纸奏上。
张衡借机进谏说:“这几年劳役繁多,百姓疲惫,请您留点神,稍稍少搞点这类事。”炀帝心里很不舒服。
炀帝曾看着张衡,对侍臣们说:“张衡自以为因为他的计谋,才让我有天下。”当时齐王杨..失爱于炀帝,炀帝秘密让人找杨..的过失。
有人告张衡违反制度,将伊阙令皇甫诩带到汾阳宫。
又说以前炀帝到涿郡以及祭祠恒岳时,那些来谒见的父老乡亲,衣冠大多不整。
炀帝怪罪张衡,身为司法官,不能检举处理这些问题,让他出京当榆林太守。
次年,炀帝又到汾阳宫,张衡正在督促劳役修筑楼烦城,因而拜见炀帝。
炀帝厌恶张衡没有消瘦,以为他不想过失,因此对张衡说:“你长得很肥,应暂且回到郡里去。”张衡又到榆林郡去。
继而令张衡监督修江都宫的劳役。
有人到张衡那里告监修江都宫的人,张衡不为他处理,却把状纸交给那个监工,这个人吃了监工更大的亏。
礼部尚书杨玄感出使到江都,这个人到玄感处喊冤。
玄感自然认为张衡的作法不对。
到与张衡相见时,玄感又没说什么。
张衡又先对玄感说:“薛道衡真是被冤死的。”玄感把这些事都报告给了炀帝。
江都丞王世充又奏张衡频频减少劳役的饭食。
炀帝于是发怒,把张衡关起来,送到江都市,将要杀他,过了很久才放他,除名为民,放他回老家乡里。
炀帝常令亲信窥探张衡在作些什么。
大业八年(612),炀帝从辽东回到京都,张衡的小妾说他心怀怨恨,诽谤朝政,炀帝竟然赐他在家里自尽。
他临死时大声说:“我为世人作了什么好事哦,还想久活!”监督行刑的塞耳不敢听,下令杀了他。
义宁中(617),因其死于无辜,追赠他为大将军、南阳郡公。
谥号叫“忠”。
有子叫张希玄。