Le centre de Gressy est situé à 5 km à vol d'oiseau d'Yverdon-les-Bains. La superficie de l'ancienne commune était de 2,2 km2. Le village est placé au nord du plateau du Gros-de-Vaud, sur les hauteurs de la vallée du Buron. Le point le plus haut de la commune est à 536 mètres d'altitude.
La commune comprenait le hameau de Sermuz, situé à 488 mètres d'altitude.
La localité est essentiellement agricole puisque cette activité occupe 68,8 % des terres. 13,8 % est occupé par des bâtiments ou des routes.
Deux origines du toponyme seraient possible, toutes deux venant d'un gentilice romain. Soit "Gressy" soit apparenté à celui de Crissier ou de Cressier, comme certaines attestations du mot laisseraient penser. Dans ce cas, il s'agirait du gentilice "Criscius"[topo 1]. Dans l'autre cas, ce qui expliquerait les autres attestations du toponyme commençant en "G-", il s'agirait du gentilice "Gracius" ou "Gratius"[topo 2].
D'autres orthographes pour le village de Gressy sont attestées, quelques exemples :
Le village comprend quelques exploitations agricoles. De petites entreprises locales fournissent également quelques emplois. Beaucoup d'actifs sont des travailleurs pendulaires, qui travaillent notamment à Yverdon-les-Bains.
Transports
Le village est accessible par la route cantonale Yverdon-Lausanne. La sortie Yverdon-Sud de l'autoroute A1 est située à 2 km. Les cars postaux desservent régulièrement la commune.