We present the design criteria and the basic structure of GYPSY, a portable system for visual inspection and recognition. GYPSY can be employed in different situations, problems and environments. The user can write applicative programs in a Pascal like language to give the system the ability to take over different tasks. GYPSY analyzes binary images of objects on the basis of their 2D shape. With respect to similar systems, it is fully portable and easily programmable. It is able of recognizing parts in any number and position in the field of view, recognizing even parts inside other parts. The software package is operational on a MINC 11 with a DMA interface to a solid state 128 x 128 camera. However GYPSY has been designed for a multi-microprocessor architecture based on Z8000, specially designed in Italy for industrial automation. The package is fully implemented in OMSI Pascal and it does not require any special hardware. It will be publicly available in Italy having been developed with the support of the National Council of Research.