Objective: To characterise the food environment of public hospitals in a Brazilian metropolis. Design: A cross-sectional study involving the audit of mini-kitchens, non-commercial food services, commercial food services and vending machines within hospitals and interviews with workers and managers. Environmental dimensions assessed included: availability, accessibility, affordability, convenience, nutrition information, promotion and advertising, infrastructure for food and ambience, in addition to decisions-level aspects. Setting: Rio de Janeiro, Brazil. Participants: 24 public hospitals in the municipal health network. Results: Of the hospitals assessed, 92 center dot 0 % had a non-commercial food service, 87 center dot 5 % had mini-kitchens (facilities to consume food taken from home), 37 center dot 5 % had commercial food services and 25 center dot 0 % had vending machines. Mini-kitchens were available in most but not all hospitals, a key facility given that few commercial or non-commercial food services were open 24 h a day. The food availability in the hospitals surveyed did not promote healthy eating. A wide variety of ultra-processed foods and drinks was found and advertising promoting their consumption, even in non-commercial food services with menus planned by nutritionists. Water filters/fountains were present in around 50 % of mini-kitchens and non-commercial food services but were unavailable in commercial food services. According to workers interviewed, the temperature of the environment was the worst-rated aspect of mini-kitchens, non-commercial food services and commercial food services. Nutrition service managers reported little involvement in producing biddings and proposals for hiring outside companies to run non-commercial food services or commercial food services. Conclusion: The food environment of the hospitals studied did not promote healthy eating habits.