GNU Dico utilise un modèle à deux couches:
Cette dernière couche est manipulée par des modules externes chargés dynamiquement, libérant ainsi GNU Deco des contraintes liées à l'utilisation exclusive du format DICT; cela permet à GNU Dico d'utiliser plusieurs formats de dictionnaire.
GNU Dico est un système modulaire avec plusieurs modules fournis par la couche base de données:
- dictorg: ce module permet le support complet du format DICT développé par le groupe de développement DICT[4], dont les travaux représentent un standard de fait pour les données au format DICT.
- guile: ce module fournit une interface à GNU Guile et permet l'écriture de modules orientées données en scheme.
- python: fournit une interface aux modules écrits en python.
- outline: ce module permet la manipulation du format outline dans GNU Emacs.
GNU Dico est un système extensible, de nouveaux modules pouvant être écrits en C, Scheme (GNU Guile) ou Python.