Ancien rédacteur en chef et cofondateur de la version française[1] et africaine du magazine en ligne Slate, il a fait des études d'histoire-géographie[2] avant de se porter sur le journalisme, métier pour lequel il n'a pas suivi d'école[3]. Il a collaboré aux versions en ligne de Libération (rédacteur en chef du site web[2]) et de 20 minutes[2]. Son départ de 20 minutes avait entraîné une grève des journalistes du site[4].
En , Johan Hufnagel est nommé «numéro un bis» à la tête de la rédaction de Libération en compagnie de Laurent Joffrin[5]. Spécialiste du web et des nouvelles technologies de l'information et de la communication, il dirige l'ensemble des éditions du journal[6],[7]. Au sein du quotidien composé presque uniquement de journalistes « blancs », il développe une politique de « discrimination positive », affirmant: «Je préfère, à compétence équivalente, prendre un Noir ou une Arabe». Ce discours ne sera plus porté par la nouvelle direction[8].
Son départ du journal est annoncé en . Il rejoint un projet de nouvelle offre vidéo en ligne, Loopsider[9].