Originally an ideogrammic compound (會意): 大 or 文(“standing human figure”) + 夂(“tilted head with open mouth”) + 丨(“cane”) – a man with a cane looking around with his mouth wide open, not know where to go – to be confused; to doubt. Compare: 欠 and 既, both showing the "open-mouth" component but on a seated figure. In the oracle bone script and bronze inscriptions, 彳 or 辵 = 彳 + 止 (“foot; toes”) was often added to indicate travelling or movement.
Various components were added later, e.g. 牛 in the bronze script of Western Zhou, 子 in the Qin-style scripts including the proto-clerical script, and 乙 in the early clerical script of Western Han. Meanwhile the main graphical element showing a standing figure eventually became 𠤕 or sometimes 矣 as in the Chu-style script (shown in the table). The Chu also added a 心 (“heart”) component indicating "the mind".
The Shuowen, in which headwords were written in the Qin-style seal script, interpreted the character as “a child standing on an obstructed road to compare the paths”: semantic 子(“child”) + semantic 止(“to be obstructed”) + semantic 匕(“to compare”) + phonetic 矢(OC *hliʔ). Duan Yucai's commentary on Shuowen offered an alternative interpretation, pointing out that 矢 was unlikely to have a the phonetic component: semantic 子(“child”) + semantic 𠤕(“uncertain”) + phonetic 止(OC *kjɯʔ). However, it is unlikely that any of the currently extant components had once indicated the pronunciation. Zhengzhang (2003) conjectured that the 子 were a deformed 牛 (OC *ŋʷɯ) that had been the phonetic component.
The current form is derived from the Qin–Han clerical scripts, where on the right-hand side the elements 子 + 止 or 子 + 乙 have recombined into 龴 + 疋.