Convertir WOFF en WOFF2

Vous pouvez convertir WOFF en WOFF2 gratuitement et sans compte : déposez le fichier ci-dessus et, une ou deux secondes plus tard, le résultat est prêt à télécharger. Le fichier part chiffré vers notre serveur, y est converti, puis supprimé dès la fin du travail.

  • Où cela s’exécute Sur notre serveur — le logiciel nécessaire ne tourne pas dans un navigateur.
  • Sans perte Rien ne se perd. WOFF2 contient exactement ce que contenait WOFF.
  • Limite de taille Jusqu’à 25 Mo par fichier, gratuitement et sans compte.
  • Bon à savoir Ce que donne le déballage, ce sont les contours qui le décident : un WOFF contenant des courbes PostScript devient un OTF, un WOFF contenant des courbes TrueType devient un TTF. Demander l’autre est refusé plutôt que satisfait par un fichier mal étiqueté.

Jusqu’à 100 fichiers à la fois. Les formats mélangés ne posent pas de problème.

WOFF et WOFF2 sont la même fonte, deux compressions

WOFF a été standardisé par le W3C en décembre 2012, et WOFF2 en 2018. Les deux sont des fontes TrueType ou OpenType encapsulées dans un conteneur avec une table de métadonnées et une compression des tables de glyfes. La différence est l’algorithme de compression : WOFF utilise Zopfli, qui est une variante de Deflate qui produit des fichiers légèrement plus petits au prix d’un encodage plus lent. WOFF2 utilise Brotli, qui est un algorithme de Google publié en 2015 et qui produit des fichiers nettement plus petits sur les fontes, avec un encodage rapide.

Le résultat est qu’une même fonte pèse typiquement 30 pour cent de moins en WOFF2 qu’en WOFF, et c’est la raison principale pour laquelle les navigateurs servent aujourd’hui presque exclusivement du WOFF2 quand on leur laisse le choix. Convertir un WOFF en WOFF2, c’est essentiellement la même opération que passer d’une archive ZIP Deflate à une archive ZIP Brotli : même contenu, meilleure compression.

La conversion ne touche pas aux contours, c’est explicite

Le travail de la conversion est de ré-encoder la table de glyfes avec Brotli au lieu de Zopfli, en gardant la table de noms, les métadonnées, le crénage, et toutes les fonctionnalités OpenType. Aucune forme de glyphe n’est touchée, aucune métrique n’est recalculée, aucune table n’est reconstruite, et c’est explicite dans le code source : la conversion lit le WOFF, décompresse, recompresse, écrit le WOFF2.

L’opération est sans perte dans les deux sens. Un WOFF passé en WOFF2 et reconverti en WOFF produit un fichier identique à la source, modulo les sommes de contrôle, parce que la compression est déterministe pour un même algorithme et une même implémentation. C’est l’une des raisons pour lesquelles la conversion peut être faite sans précaution particulière : il n’y a rien de subjectif dans la sortie, et un diff binaire entre l’entrée et la sortie désencapsulée serait vide.

Pourquoi le WOFF2 reste plus gros que la fonte originale

Une fonte TTF ou OTF native, avant encapsulation WOFF, est elle-même déjà un fichier structuré avec ses propres tables. WOFF et WOFF2 compressent ces tables, mais ils ajoutent aussi un en-tête de 44 octets pour WOFF et 48 octets pour WOFF2, plus une table de métadonnées facultative qui peut porter une licence ou un crédit.

Le ratio typique est qu’une fonte native de 100 Ko devient un WOFF de 40 à 50 Ko et un WOFF2 de 30 à 35 Ko. WOFF2 gagne environ 30 pour cent sur WOFF et environ 65 pour cent sur la fonte native. C’est un gain réel, mais c’est aussi la raison pour laquelle on ne devrait pas voir un WOFF2 en production en 2026 sans se demander pourquoi le site n’a pas directement servi le WOFF2 depuis la fonte source — la conversion est utile pour les fontes héritées, pas pour les nouvelles.

Le cas d’utilisation : un ancien site qui sert encore du WOFF

Un site construit entre 2013 et 2018 a souvent des feuilles de style qui déclarent WOFF en source unique ou en pile à quatre niveaux avec EOT, WOFF, TTF et SVG. Le WOFF en particulier est dans le bon format pour la transition vers WOFF2, parce que la conversion est triviale et le gain est immédiat.

Pour ce cas, la conversion sert de manière ponctuelle : extraire les WOFF du site, les passer en WOFF2, mettre à jour la feuille de style. C’est un travail de refactoring qui prend une heure sur un site de taille moyenne, et c’est explicite que la conversion n’est qu’une étape dans la migration. Une fois les WOFF2 en place, la chaîne d’outillage en amont peut directement produire du WOFF2 depuis la fonte source, et la conversion n’est plus nécessaire.

La table de noms survit, et c’est ce qu’il faut vérifier

La table de noms est l’un des éléments les plus utiles d’une fonte : nom de famille, sous-famille, nom complet, nom PostScript, dessinateur, fonderie, URL de fabricant, ligne de copyright, description de licence. Les générateurs de kits réécrivent le nom de famille et prennent rarement la peine de toucher au reste, donc l’identification utile survit en général.

Le WOFF2 produit contient la même table de noms que le WOFF source. C’est explicite dans le code source, et c’est l’une des propriétés qui distingue cette conversion d’une ré-encapsulation qui perdrait les métadonnées. Pour un cas où l’identification de la fonte compte — une migration, un audit de licence, une reconstruction d’un ancien site — c’est ce qu’il faut pouvoir vérifier, et le WOFF2 le permet.

La conversion tourne sur le serveur, parce que fontTools n’a pas de version navigateur

La conversion est faite par fontTools sur notre serveur, dans un environnement isolé, et le répertoire de travail est supprimé dès que le travail est terminé. La conversion est sur le serveur parce qu’il n’y a pas de version navigateur de fontTools, et c’est explicite dans le code source.

Le fichier voyage par une connexion chiffrée, est converti dans un environnement isolé, et le répertoire de travail est supprimé dès que le travail est terminé. La conversion n’adresse pas d’autre réseau, et le fichier source n’est pas conservé au-delà de la durée du travail. C’est explicite dans le code source, et c’est ce qui rend la conversion possible tout en gardant une limite de 25 Mo par fichier et 100 conversions par jour pour les utilisateurs gratuits.

Ce que la conversion refuse, et pourquoi

La conversion refuse les fichiers qui ne sont pas des fontes valides. Une page HTML enregistrée avec une extension .woff, un fichier corrompu, une fonte avec des tables manquantes sont signalés avec une phrase qui décrit le problème plutôt que d’essayer de produire une sortie. C’est explicite dans le code source, et c’est la raison pour laquelle les fontes invalides ne deviennent pas des fontes invalides en sortie.

La conversion ne convertit pas non plus les contours entre genres : demander un TTF à partir d’une fonte CFF est explicitement refusé, et demander un OTF à partir d’une fonte glyf aussi. Le format de sortie est WOFF2, et la conversion ne touche pas au genre de contour. C’est explicite dans le code source, et c’est la raison pour laquelle la sortie est un WOFF2 et rien d’autre.

Le cas du WOFF2 déjà en main, qui rend la conversion inutile

Si la feuille de style d’un site sert déjà du WOFF2, cette conversion ne sert à rien. La page de conversion sert pour les fontes qui sont en WOFF, et il faut vérifier ce que la feuille de style demande avant de convertir. Une migration mal faite consiste à convertir du WOFF2 en WOFF puis en WOFF2, ce qui produit un fichier légèrement différent à chaque passage et qui ne fait que perdre du temps.

Pour vérifier, ouvrir la feuille de style et chercher `format("woff2")` dans les valeurs `src()`. Si la réponse est oui, ne convertissez pas. Si la réponse est non, vérifiez que la fonte est bien en WOFF et pas en TTF ou en OTF directement, parce que la conversion suppose du WOFF en entrée et ne saura pas quoi faire d’un TTF sans encapsulation.

Un dossier de fontes d’un ancien site

Déposez jusqu’à cent WOFF en une seule passe, et chacun sort en WOFF2 avec sa propre progression. Pour un site dont la migration a été repoussée pendant des années, c’est une opération qui ramène la dette technique à un état gérable.

La taille totale du ZIP qui sort est typiquement 30 pour cent plus petite que celle du ZIP d’entrée, ce qui est le gain concret de la conversion. Pour un dossier de vingt fontes qui servait un site à 2 Mo de fontes, le résultat est autour de 1,4 Mo, et c’est une bande passante économisée sur chaque visite du site, ce qui se capitalise à l’échelle du trafic réel.

La licence reste ce qu’elle était, et c’est explicite

La conversion ne modifie pas la licence d’une fonte, parce que la licence est portée par les fontes elles-mêmes et par les métadonnées associées, et aucune des deux n’est modifiée par la conversion. Une fonte sous SIL Open Font License reste sous SIL Open Font License, et une fonte commerciale reste commerciale avec les mêmes conditions qu’auparavant.

C’est explicite dans le code source, et c’est explicite aussi dans la documentation de fontTools. Pour un cas où la conversion serait perçue comme une modification de la licence, c’est une inquiétude à dissiper : la conversion est un changement de conteneur, pas un changement de contenu, et la licence suit le contenu.

Comment convertir WOFF en WOFF2

  1. Déposez votre fichier WOFF sur cette page, ou cliquez pour en choisir un.
  2. Choisissez WOFF2 comme destination et lancez la conversion.
  3. Téléchargez le fichier WOFF2 terminé.

WOFF et WOFF2 : ce qui change

WOFF face à WOFF2
WOFFWOFF2
Nom completWeb Open Font FormatWeb Open Font Format 2
Extension de fichier.woff.woff2
Type de médiafont/wofffont/woff2
Première publication20092018
Publié parW3CW3C
SpécificationWOFF 1.0WOFF 2.0
LicenceStandard ouvertStandard ouvert
Situation actuelleAncien, encore lu partoutActuel
S’ouvre dans un navigateurTous les navigateursTous les navigateurs
Envisagé à la placeTTFTTF

Ce qui est conservé

Rien n’est écarté. WOFF et WOFF2 enregistrent leur contenu sans perte : la conversion change l’emballage, pas la qualité, et elle peut être répétée sans que les dégâts s’accumulent.

Ouvrir le résultat

WOFF date de 2009 et n’est guère plus utilisé. WOFF2 est ce qu’écrivent les logiciels actuels : convertir, c’est aussi rester lisible.

FontForge et fonttools lisent aussi bien WOFF que WOFF2 : vous pouvez comparer le résultat à l’original sans second logiciel.

À quoi sert chaque format

WOFF est le format de W3C, publié en 2009. La spécification est WOFF 1.0, et elle mérite d’être connue si le fichier doit survivre à l’outil qui l’a écrit.

WOFF2 vient de W3C et date de 2018, décrit par WOFF 2.0. fonttools et FontForge le lisent.

De WOFF à WOFF2 : questions fréquentes

Mon fichier WOFF est-il téléversé quelque part ?

Oui : cette conversion réclame un logiciel qui ne peut pas tourner dans un navigateur. Le fichier part donc chiffré vers notre serveur. Il est supprimé dès la fin du travail, et le résultat au bout de 60 minutes. Le travail est fait par fontTools, la bibliothèque de polices qui sert à fabriquer les webfonts.

Convertir WOFF en WOFF2 est-il gratuit ?

Oui, jusqu’à 100 conversions par jour pour des fichiers jusqu’à 25 Mo. Cette unique limite existe parce que cette conversion tourne sur un serveur que nous payons. Pour le reste rien n’est limité ici, et il n’y a de filigrane dans aucun cas. La limite existe parce que fontTools a besoin d’une de nos machines pour tourner.

Y a-t-il une perte de qualité en convertissant WOFF en WOFF2 ?

Non. WOFF2 enregistre le même contenu sans rien jeter : le résultat est identique en qualité à l’original. Ce que donne le déballage, ce sont les contours qui le décident : un WOFF contenant des courbes PostScript devient un OTF, un WOFF contenant des courbes TrueType devient un TTF. Demander l’autre est refusé plutôt que satisfait par un fichier mal étiqueté.

La conversion de WOFF à WOFF2 est-elle sans perte ?

Rien n’est écarté. WOFF et WOFF2 enregistrent leur contenu sans perte : la conversion change l’emballage, pas la qualité, et elle peut être répétée sans que les dégâts s’accumulent.

En savoir plus sur ces formats