Marine protected areas (MPAs) are important tools for the evaluation of the biodiversity and status of marine systems. However, not all MPAs are equal in their design and management; therefore, it is important to understand how different levels of protection affect the fish communities. In the present study, the shallow reef-area fishes of seven areas in Fernando de Noronha archipelago (north-eastern Brazil) with dissimilar habitat characteristics and different levels of environmental protection (no-take MPA and MPA) were compared. In total, 140 visual censuses were performed, in which 12 958 fishes of 27 families and 50 species were recorded. Differences were recorded between no-take MPAs and MPAs in the benthic composition, abiotic data and fish-community structure and composition. These differences were associated with a higher diversity, richness, density of larger fishes and top target fish families, and biomass per census (nearly 2-fold higher in the no-take MPA). Our findings suggested that the differences in the ichthyofauna were probably more related to the different levels of protection than to dissimilarities in the habitat structure among areas, and that the local no-take MPA (National Marine Park of Fernando de Noronha) is effective in maintaining the shallow reef-area fish communities healthy and diverse.