Charles was raised at the Burgundian court of Charles the Bold, who had bought the duchy of Guelders from Adolf of Egmond in 1473. He fought in several battles against the armies of Charles VIII of France, until he was captured in the battle of Béthune (1487).
In 1492, Charles was ransomed by the cities of Guelders, who had become disenchanted with the rule of their duke, Maximilian of Habsburg. Charles restored the independence of Guelders, and was recognized as Duke by the cities.
Charles' rule in Guelders was supported by the French King, but the duchy was regained by Philip I of Castile, son of Maximillian, in 1505. Charles had to accompany Philip to Spain to attend his coronation as king of Spain, but Charles escaped at Antwerp, and by July 1513, the whole of Guelders was under his rule again.
In the Treaty of Gorinchem (1528), the emperor finally recognized Charles of Egmond as Duke of Guelders. However, if Charles were to die childless, the emperor (Charles V, who was Philip's son) would inherit the duchy. At that moment, Charles did not have any children yet, and therefore he delayed signing the treaty. Another battle ensued, after which the offending passage was deleted from the treaty, and in 1536 there was finally peace between Guelders and Burgundy.
Charles died on June 30, 1538. He lies buried in the St. Eusebius Church in Arnhem.