GnuCash è un programma di contabilità personale sviluppato sotto licenza GPL che è di tipo libero.
Registra i movimenti finanziari in modalità di libro giornale a "partita doppia".
È nato per fornire un'interfaccia utente ed una funzionalità simili a quelle di Quicken, il programma di finanza personale di Intuit. Gli sviluppi attuali puntano a soddisfare le esigenze di un'utenza commerciale di piccolo taglio o personale avanzata.
Basato sul concetto di partita doppia, permette la strutturazione arbitraria del piano dei conti, con sottocategorie su differenti livelli. Permette inoltre di gestire i conti in tutte le valute, senza vincoli di avere la stessa valuta nello stesso ramo dell'albero dei conti. Inoltre, è in grado di creare resoconti grafici personalizzabili con facilità.
Gnucash è basato sul toolkit grafico GTK, disponibile per vari sistemi operativi come GNU/Linux, FreeBSD, Solaris e Windows. Il formato in cui salva i file è XML.
Le versioni 1.x giravano sotto GTK 1.x. Dalla versione 2.0 rilasciata nel 2006 utilizza GTK 2 e dalla versione 2.1 è supportato ufficialmente il sistema operativo Windows.
Il 24 febbraio 2009 è stata rilasciata l'ultima versione stabile 2.2.9. Attualmente sono in fase di sviluppo e testing le versioni 2.3.x, che introducono l'uso del motore grafico WebKit per i report e la possibilità di operare anche usando database SQLite 3, MySQL or PostgreSQL. Queste funzionalità dovrebbero far parte della prossima versione stabile 2.4.
Il programma è tradotto quasi interamente in italiano.