Obfuscateur JavaScript en ligne – Protéger et minifier votre code JS

Obfusquez du code JavaScript dans le navigateur (sans envoi serveur). Préréglages, source map, import de fichier .js.

Soutenez le projet

J’ai choisi de limiter les publicités pour garder l’expérience simple et agréable. Si cet outil vous a été utile, vous pouvez m’aider à le faire vivre — chaque geste compte pour un développeur solo.

Obfuscateur JavaScript en ligne : protégez et minifiez votre code dans le navigateur, sans envoi à un serveur.

Description

Cet outil permet d’obfusquer du code JavaScript directement dans votre navigateur. L’obfuscation transforme le code pour le rendre plus difficile à lire et à modifier, tout en conservant son comportement. Vous pouvez coller du code, importer un fichier .js, .mjs ou .cjs, choisir un préréglage (Sûr, Équilibré, Fort) et optionnellement générer une source map pour déboguer le code obfuscé. Aucune donnée n’est envoyée à nos serveurs : tout est traité localement.

Comment faire

  1. Saisir le code : collez votre JavaScript dans la zone de gauche ou déposez un fichier .js, .mjs ou .cjs (ou cliquez sur « Importer un fichier .js »).
  2. Choisir le préréglage : Sûr (léger), Équilibré (recommandé) ou Fort (obfuscation maximale, peut ralentir l’exécution).
  3. Optionnel : cocher « Générer une source map » si vous voulez pouvoir déboguer le code obfuscé ; vous pouvez définir le nom du fichier de sortie et de la source map, et activer la source map inline.
  4. Cliquer sur « Obfuscater » : le résultat s’affiche dans la zone de droite.
  5. Copier ou télécharger : utilisez « Copier le résultat », « Télécharger le .js » ou « Télécharger la source map » selon vos besoins.

Exemples

  • Fonction simple : function greet() { return 'Hello'; } → après obfuscation (préréglage Sûr), les noms de variables/fonctions sont renommés.
  • Avec source map : en activant « Générer une source map », vous obtenez un fichier .js obfuscé et un fichier .map ; en les chargeant dans les DevTools, vous pouvez placer des breakpoints sur le code source original.

Cas d’usage

  • Protection basique : rendre le code front-end un peu plus résistant à la copie et à la lecture rapide.
  • Bundles livrés : obfusquer un bundle avant déploiement tout en gardant la possibilité de déboguer en dev avec une source map (à ne pas publier en production si vous voulez maximiser l’obfuscation).
  • Démonstrations ou partage : fournir une version obfuscée d’un script sans exposer toute la logique.

Limites

  • L’obfuscation n’est pas une sécurité : un attaquant déterminé peut analyser ou dé-obfusquer le code. Elle relève surtout la barre.
  • Les fichiers très volumineux (plus d’environ 1,5 Mo) peuvent prendre du temps à traiter et ralentir l’onglet.
  • Le code doit être du JavaScript valide ; les erreurs de syntaxe sont signalées (message avec détail si disponible).
  • Les source maps permettent de retrouver le code original ; ne les publiez pas si vous voulez une obfuscation maximale.

Bonnes pratiques

  • Utilisez le préréglage Équilibré par défaut ; réservez Fort aux parties sensibles si vous acceptez un impact sur la taille et les perfs.
  • Si vous générez une source map pour le débogage, ne la déployez pas sur un CDN public.
  • Testez le code obfuscé (ex. exécution, tests automatisés) avant de le déployer.
  • Pour des secrets ou de la logique critique, combinez l’obfuscation avec d’autres mesures (backend, authentification, etc.).

Sécurité et confidentialité

  • Tout le traitement est effectué dans votre navigateur ; aucun code n’est envoyé à nos serveurs.
  • Nous ne stockons ni n’enregistrons votre code. Pour une confidentialité maximale, vous pouvez utiliser l’outil hors ligne après chargement de la page.

Alternatives

  • Minification seule (Terser, esbuild, etc.) : réduit la taille et la lisibilité sans autant de transformations ; souvent suffisant pour la prod.
  • Obfuscation côté build : intégrer l’obfuscation dans votre pipeline (webpack, Vite, etc.) pour automatiser.
  • Code côté serveur : pour la logique vraiment sensible, garder le code sur le serveur et n’exposer que des API.

FAQ

L’obfuscation rend-elle mon code sécurisé ?

Non. L’obfuscation rend le code plus difficile à lire et à modifier, mais elle ne protège pas contre une analyse approfondie. Elle ne remplace pas des mesures de sécurité côté serveur, la gestion des secrets ou l’authentification.

Puis-je déboguer le code obfuscé ?

Oui, si vous générez une source map et que vous la chargez dans les DevTools (sans la publier en production). Vous pourrez placer des breakpoints et voir le code original.

Quelle est la différence entre les préréglages Sûr, Équilibré et Fort ?

Sûr : renommage d’identifiants uniquement, pas de tableau de chaînes ni de contrôle de flux. Équilibré : renommage + tableau de chaînes modéré, compact. Fort : en plus, contrôle de flux et injection de code mort ; plus lourd en taille et en performance.

Pourquoi la source map augmente-t-elle la taille du fichier en mode inline ?

En mode inline, la source map est encodée en base64 et intégrée à la fin du fichier .js. Cela augmente nettement la taille ; le mode « séparé » (fichier .map à part) est préférable si vous n’avez pas besoin d’un seul fichier.

Puis-je importer un fichier TypeScript (.ts) ?

Seuls les fichiers .js, .mjs et .cjs sont pris en charge. Le code doit être du JavaScript exécutable. Si vous avez du TypeScript, transpilez-le d’abord en JavaScript puis obfusquez le résultat.

Mon code obfuscé ne s’exécute plus, que faire ?

Vérifiez que le code source est du JavaScript valide (pas d’erreur de syntaxe). En préréglage Fort, certains patterns peuvent rarement poser problème ; essayez le préréglage Équilibré ou Sûr. En cas d’erreur affichée par l’outil, corrigez la ligne/colonne indiquée.

Une suggestion ou une demande d'outil ?

Vous avez repéré une erreur, vous souhaitez un nouvel outil ou vous avez un retour à partager ? Contactez-moi par email, je serais ravi d'échanger avec vous.

Recherche d'outils

Recherchez par nom, catégorie ou mot-clé.