From Middle French stupide, from Latin stupidus (“struck senseless, amazed”), from stupeō (“be amazed or confounded, be struck senseless”), from Proto-Indo-European *(s)tup-, *(s)tewp- (“to wonder”), from Proto-Indo-European *(s)tew- (“to stand, stay”). Cognate with Old High German stubarōn (“to be astonished, be stunned, be blocked”). Related also to Old English stoppian (“to block, stop”). See stop.
From Latin stupidus (“senseless”).