Il est le fils de Claude Percy, chirurgien, et de Anne Guillemin. En 1775, il est reçu docteur à Besançonet et entre aux armées l'année suivante. Il devient lui-même chirurgien dans l’armée royale à partir de 1782. Il obtient en 1789 un brevet de chirurgien en chef puis entre à l'armée du Rhin.
Il est nommé inspecteur général du service de santé des armées en l’an XII. Il est élu membre de l’Académie des sciences en 1807. Commandant de la Légion d'honneur après Eylau, il est nommé baron de l’Empire après Wagram, en 1809.
Une ophtalmie grave l'éloigne de l'armée en 1812 et 1813. En 1814, il soigne 12 000 malades et blessés, russes et prussiens, en transformant en hôpital les abattoirs de Paris et reçoit les distinctions honorifiques les plus élevées de Bavière, de Prusse et de Russie (Ordres de Sainte-Anne de Russie, de l'Aigle rouge de Prusse, du Mérite de Bavière).
Au cours des Cent-Jours, il est élu membre de la chambre des représentants par le grand collège de Haute-Saône (70 voix sur 131 votants)
Le retour de la monarchie en 1815 le contraint à la retraite. Il est cependant nommé membre honoraire de l’Académie de médecine en 1820.
Il meurt à Paris le 18 février 1825 et est inhumé dans la 18 division du Cimetière du Père-Lachaise.