Au milieu du 14e siècle, le mot signifiait « grand » ; au début du 15e siècle, il a pris le sens de « épais », mais aussi « grossier, simple, ordinaire ». Il vient de l’ancien français gros, qui désignait des choses comme « gros, épais, gras, grand, fort, puissant, ou même enceinte », mais aussi des qualités plus négatives comme « grossier, rude, maladroit, voire sinistre ou important, voire arrogant » (utilisé dès le 11e siècle). Ce terme provient du latin tardif grossus, qui signifiait « épais, grossier » (surtout pour la nourriture ou l’esprit), et en latin médiéval, il était utilisé pour désigner quelque chose de « grand » ou de « gros ». On le retrouve également dans d’autres langues romanes, comme l’espagnol grueso ou l’italien grosso. Son origine reste floue, car il n’apparaît pas dans le latin classique. Certains linguistes affirment qu’il n’a pas de lien avec le latin crassus, qui avait une signification similaire, ni avec le mot allemand gross, qui signifie « grand ». Cependant, Klein a suggéré qu’il pourrait être apparenté à l’ancien irlandais bres ou au moyen irlandais bras, qui signifiaient tous deux « grand ».
En anglais, le mot a évolué vers plusieurs significations. D’abord, à travers l’idée de « grossièreté dans la texture ou la qualité », il a pris les sens de « pas sensible, terne, stupide » dans les années 1520, puis de « vulgaire, moralement grossier » dans les années 1530. Ensuite, en passant par l’idée de « général, sans détail », il a aussi signifié « entier, total, complet, sans déductions » au début du 15e siècle, comme dans l’expression gross national product (produit national brut), introduite en 1947. La signification de « criard, flagrant, monstrueux » est apparue dans les années 1580, tandis que le sens moderne de « dégoûtant » a été enregistré pour la première fois en 1958 dans le jargon étudiant américain, issu d’un usage antérieur comme intensificateur pour désigner des choses désagréables (comme dans gross stupidity, etc.).