Minifier JavaScript en ligne — Minificateur JS

Minifiez du JavaScript instantanément avec notre outil en ligne gratuit. Compressez votre JS pour la production, ou concaténez et minifiez plusieurs fichiers .js en une seule passe. Traitement dans le navigateur — aucune donnée envoyée au serveur.

Chargement…
Minification JavaScript
Minifiez du JavaScript en ligne avec Terser. Compressez votre JS pour la production — traitement instantané dans le navigateur.

Fonctionnalités

Réduisez la taille de votre code JavaScript en supprimant les espaces, commentaires et caractères inutiles.

Minifier

Réduisez la taille de votre code JavaScript en supprimant les espaces, commentaires et caractères inutiles.

Package utilisé

Terser
v5.47.1

Terser est un compresseur JavaScript moderne qui optimise la taille et les performances de votre code.

Exemple de base

Code source

function calculateTotal(items) { let total = 0; for (let i = 0; i < items.length; i++) { total += items[i].price; } return total; } const products = [ { name: 'Laptop', price: 999 }, { name: 'Mouse', price: 25 } ]; console.log('Total:', calculateTotal(products));

Code minifié

function calculateTotal(e){let t=0;for(let o=0;o<e.length;o++)t+=e[o].price;return t}const products=[{name:"Laptop",price:999},{name:"Mouse",price:25}];console.log("Total:",calculateTotal(products));
Guide d'optimisation JavaScript

Ce que fait la minification JavaScript

La minification JavaScript réécrit le source sous une forme plus courte qui parse et s'exécute de la même façon. Ce n'est pas une archive zip : le résultat reste du JavaScript — plus dense, pas encodé. Un minificateur retire espaces et commentaires, condense la syntaxe équivalente lorsqu'il peut prouver que le changement est sûr (true!0, certaines formes if en &&), et raccourcit les identifiants locaux. Vous livrez toujours un fichier .js que le navigateur exécute tel quel. Sur du source écrit à la main, cela coupe souvent 30–70 % des octets d'origine avant gzip ou Brotli. Les octets encore présents sur le réseau relèvent d'une autre couche. La minification réduit ce que le compresseur de transport voit ensuite ; gzip et Brotli restent utiles après déploiement. Elle ne supprime pas les modules inutilisés — c'est le tree shaking d'un bundler, avant Terser. Et ce n'est pas de l'obfuscation : les noms raccourcissent parce qu'ils sont locaux, pas parce que le flux de contrôle est masqué.

Comment FastMinify minifie le JavaScript

Cette page exécute Terser entièrement dans votre navigateur. Le pipeline est parse → compress → mangle → render ; la barre d'outils correspond à ces étapes. Parse construit un AST. Un JavaScript invalide échoue avec une erreur de syntaxe au lieu d'émettre un fichier cassé. Compress est la passe sémantique : élimination des branches mortes, constant folding, et suppression optionnelle de console.* et debugger (Supprimer console / Supprimer debugger — activés par défaut). Le niveau de compression règle l'agressivité : Conservative conserve les noms et reste plus sûr ; Normal équilibre la taille ; Aggressive autorise des réécritures plus fortes (y compris le mangling toplevel) qui peuvent casser du code dépendant des noms. La version ECMAScript indique à Terser quelle syntaxe il peut émettre — choisir ES5 ne transpile pas les fonctions fléchées que vous avez déjà écrites. Mangle (Normal et Aggressive) renomme les locaux en identifiants courts. Préserver les noms de fonctions et Préserver les noms de classes conservent ces liaisons lorsqu'un lecteur utilise Function.prototype.name ou des chaînes de classes CSS. Laissez-les activés — ou restez en Conservative — si vous dépendez de eval ou new Function. Render imprime l'AST sans commentaires, avec les séparateurs minimaux acceptés par la grammaire. Le résultat est fonctionnellement identique, sauf si compress agressif plus mangling rencontre du code dépendant des noms. Coller-minifier convient à un fichier ou à quelques fichiers ; la concaténation sur cette page fusionne d'abord, puis enchaîne le même pipeline — ce n'est pas un bundler. Une appli de production reste dans le build. Pour webpack, Vite ou la CI, voir le guide de minification JavaScript — le même moteur, avec une étape de build.

Options de minification

Version ECMAScript
Définit la version ECMAScript cible pour la minification (ES5, ES2015, ES2017, ES2020, ES2022)

Exemples par version ECMAScript :

Code original (ES2022)
const data = { name: 'test' }; const { name } = data; console.log(name);
ES2022
const{name:data}=data;console.log(data)
ES5
var data={name:'test'};var name=data.name;console.log(name)
Niveau de compression
Contrôle l'agressivité de la compression (conservative, normal, aggressive)
ConservativeConservateur - Compression minimale, plus sûr
NormalNormal - Équilibre entre taille et compatibilité
AggressiveAgressif - Compression maximale, peut casser certains codes

Exemples de compression :

Code original
function calculateTotal(items) { let total = 0; for (let i = 0; i < items.length; i++) { total += items[i].price; } return total; }
Conservative
function calculateTotal(items){let total=0;for(let i=0;i<items.length;i++)total+=items[i].price;return total}
Normal
function calculateTotal(t){let e=0;for(let l=0;l<t.length;l++)e+=t[l].price;return e}
Aggressive
function e(e){let t=0;for(let n=0;n<e.length;n++)t+=e[n].price;return t}
Préserver les noms de classes
Conserve les noms de classes CSS dans les chaînes de caractères

Comparaison avec/sans l'option :

Code original
element.className = 'my-class'; element.setAttribute('class', 'another-class');
Avec preserveClassNames: true
element.className='my-class';element.setAttribute('class','another-class')
Avec preserveClassNames: false
element.className='a';element.setAttribute('class','b')
Différence
Les noms de classes CSS sont préservés dans les chaînes
Préserver les noms de fonctions
Conserve les noms de fonctions pour le debugging

Comparaison avec/sans l'option :

Code original
function myFunction() { return true; } const obj = { myMethod() { return false; } };
Avec preserveFunctionNames: true
function myFunction(){return!0}const obj={myMethod(){return!1}}
Avec preserveFunctionNames: false
function a(){return!0}const obj={b(){return!1}}
Différence
Les noms de fonctions sont préservés pour le debugging
Supprimer console
Supprime tous les appels console.log, console.warn, etc.

Comparaison avec/sans l'option :

Code original
console.log('Debug info'); console.warn('Warning message'); const result = calculateTotal(items); console.log('Result:', result); return result;
Avec removeConsole: true
const result=calculateTotal(items);return result
Avec removeConsole: false
console.log('Debug info');console.warn('Warning message');const result=calculateTotal(items);console.log('Result:',result);return result
Différence
Tous les appels console.* sont supprimés
Supprimer debugger
Supprime les instructions debugger du code

Comparaison avec/sans l'option :

Code original
if (condition) { debugger; return true; } function test() { debugger; return false; }
Avec removeDebugger: true
if(condition)return!0;function test(){return!1}
Avec removeDebugger: false
if(condition){debugger;return!0}function test(){debugger;return!1}
Différence
Les instructions debugger sont supprimées

Voir les options d’indentation Beautify →

En savoir plus sur cette action →

En savoir plus sur cette action →

Concaténer des fichiers JavaScript

Sur Minifier JS, combinez plusieurs fichiers JavaScript dans l'ordre de la liste, puis minifiez le bundle complet avec vos options actuelles. Tout le traitement reste dans votre navigateur. Cette fonction est particulièrement utile pour les projets sans bundler comme Webpack ou Rollup.

Questions fréquentes — Minification

Tout savoir sur la minification

Pourquoi minifier du JavaScript ?

La minification JavaScript réduit la taille des fichiers en supprimant espaces, commentaires et en raccourcissant les noms de variables. Les gains typiques se situent souvent entre 30 % et 70 % des octets d'origine, avant gzip.

Comment fonctionne la minification JavaScript ?

Notre outil utilise Terser. Il supprime les caractères inutiles et peut raccourcir les noms de variables. Le code minifié reste fonctionnellement identique.

Besoin de déminifier du JavaScript ?

Oui — utilisez notre déminificateur JavaScript dédié pour restaurer une mise en forme lisible à partir de code compressé.

Besoin de beautifier du JavaScript ?

Utilisez Beautifier JavaScript pour formater votre code avec une indentation cohérente.

Mon code est-il traité en toute sécurité ?

Tout le traitement se fait dans votre navigateur. Aucun code n'est envoyé à un serveur.

Puis-je concaténer des fichiers JavaScript ?

Oui — sur Minifier JS, cliquez sur l'icône de concaténation au-dessus de l'éditeur d'entrée ou déposez au moins deux fichiers .js, .mjs ou .cjs sur le panneau d'entrée. Les fichiers sont fusionnés dans l'ordre de la liste, puis le bundle complet est minifié avec vos options.

Comment fusionner plusieurs fichiers JS ?

Cliquez sur l'icône de concaténation dans la barre d'outils de l'éditeur d'entrée ou déposez plusieurs fichiers JavaScript valides sur l'éditeur de gauche. Réordonnez-les dans la modale, puis cliquez sur Concaténer et minifier.

Les séparateurs de commentaires entre fichiers restent-ils après minification ?

Pas de façon fiable — les marqueurs sont insérés avant la minification du bundle complet, donc les commentaires // nom-du-fichier et les espacements supplémentaires sont généralement supprimés.

Puis-je concaténer des fichiers sur Beautifier JS ?

Pas dans la version actuelle — la concaténation est disponible sur Minifier JS uniquement.

Vérifiez par vous-même

FastMinify traite vos données dans le navigateur. Inspectez l'onglet Réseau ou consultez notre porte de validation pour confirmer qu'aucune donnée ne quitte votre appareil.

Minifier

Réduisez code et assets pour la production — minifiez JS, CSS, HTML, JSON, XML et SVG avant gzip ou déploiement CDN.

Découvrez les autres catégories d'outils

Déminifier

Développez du code minifié ou compressé — déminifiez JavaScript, CSS, TypeScript, SCSS, LESS, SQL, YAML et d'autres formats pour déboguer ou relire.

Conversion

Transformez des données entre JSON, YAML, XML et CSV localement — sans envoi serveur.

Encodage

Encodez ou décodez Base64, composants URL et entités HTML — uniquement côté client.

Sérialisation

Sérialisez et désérialisez des structures PHP à côté de vos flux JSON.

Outils JSON

Validez, formatez, comparez et explorez des payloads JSON — complémentaires aux minificateurs et convertisseurs.

Outils SVG

Prévisualisez, optimisez avec SVGO, exportez en Data URI, redimensionnez, formatez, convertissez en JSX et validez vos SVG — tout dans le navigateur.

Beautifier

Rendez le code lisible avec une indentation cohérente — beautifiez JavaScript, CSS, TypeScript, SCSS, LESS, Markdown, GraphQL, SQL, YAML et plus encore dans votre navigateur.

Préprocesseurs CSS

Compilez SCSS ou LESS en CSS standard dans le navigateur — complétez avec beautify ou minify pour un workflow feuille de style complet.

Outils couleur & CSS

Vérification de contraste WCAG en collage local avec syntaxe couleur CSS moderne — vues paire et matrice, jamais envoyé.

DevOps & Infra

Format/validate/minify HCL, format & lint Dockerfile, validation Compose et .env.

CI/CD

GitHub Actions et GitLab CI — formater le YAML et vérifier la structure des workflows/jobs dans le navigateur.

Logs & observabilité

JSON/NDJSON ligne à ligne et access logs Nginx/Apache — format, filtre, validation et CSV/TSV.

Kubernetes

Manifestes multi-docs, validation structurelle, starters Ingress/Deployment et formatage values Helm.

Réseau / IP

CIDR, sous-réseaux et helpers IPv4/IPv6 — dans le navigateur.

Sécurité & tokens

JWKS, certificats X.509 et scan de secrets — locaux navigateur.

API & schémas

Outils OpenAPI pour formater, valider et analyser vos specs.

Outils HTTP

cURL, messages HTTP, URLs, HAR et Cookie / Set-Cookie collés dans le navigateur — formater et inspecter, jamais envoyé.

Outils SEO / Web

Générez meta tags, Open Graph et Twitter Card localement — aperçus simulés depuis vos saisies, jamais fetch de votre site live.

Utilitaires développeur

Timestamps, UUID, ULID, Nanoid, cron, mots de passe, regex, slugify, bases, casse, diff texte et chmod — tout côté client.

Texte & Markdown

Comptez, générez un sommaire Markdown et nettoyez des listes de lignes — dans le navigateur.

IA & LLM

Comptage de tokens, estimation des coûts et fenêtre de contexte — 100 % local.

Données de test

Valeurs de champs synthétiques pour fixtures et seed DB — d'abord des numéros de téléphone en plages réservées.