Dos jefes de espionaje rivales conocen las identidades secretas de 25 agentes. Sus compañeros solo los conocen por sus nombres en clave: nombres de una sola palabra como "enfermedad", "Alemania" y "zanahoria". Sí, zanahoria. Es un nombre en clave legítimo. Cada jefe de espionaje quiere que su equipo identifique primero a sus agentes... sin descubrir al asesino por error.
En Codenames, dos equipos compiten para ver quién contacta primero con todos sus agentes. Se colocan 25 tarjetas, cada una con una palabra. Los jefes de espionaje observan una tarjeta que muestra la identidad de cada una y, por turnos, dan pistas a sus compañeros. Una pista consiste en una palabra y un número; este indica cuántas tarjetas en juego tienen alguna relación con la palabra clave dada. Los compañeros identifican entonces a un agente que creen que está en su equipo; si aciertan, pueden repetir la adivinanza hasta un número más de las veces indicadas; si el agente pertenece al equipo contrario o es un transeúnte inocente, el turno del equipo termina; y si identificaron al asesino, pierden la partida.
Los maestros espías continúan dando pistas hasta que un equipo haya identificado a todos sus agentes o el asesino haya eliminado a un equipo del juego.