Qu’est-ce qu’un fichier .gcode ? Son contenu et son imprimante cible
Le G-code est une liste de commandes texte qu’une imprimante suit ligne par ligne : où va la buse, combien de matière pousser, quelle température maintenir. Un trancheur (slicer) l’écrit à partir d’un modèle 3D pour une imprimante précise et y ajoute des commentaires avec la durée d’impression, le filament utilisé et un aperçu. Le modèle lui-même n’y est pas — seulement le trajet de la buse.
En bref
- Extension
- .gcode, .gco, .g
- Type
- Parcours d’impression (instructions pour l’imprimante)
- Créé par
- EIA RS-274, RepRap
- Norme
- ISO 6983 (CNC)
- Spécification
- RepRap wiki: G-code
- macOS sans app
- Ne le connaît pas : ni aperçu, ni vignette
Faits vérifiés le 4 novembre 2026
Une commande par ligne
Chaque ligne est une instruction faite de « mots » : une lettre et un nombre. G1 X10 Y-5 F2400 signifie « déplacement en ligne droite jusqu’à X 10, Y −5 à 2400 mm/min ». G lance un déplacement, M d’autres commandes (températures, ventilateur), T un changement d’outil. X, Y et Z sont les axes, E la matière extrudée, F la vitesse, S une température ou une vitesse de broche. Tout ce qui suit un point-virgule est un commentaire.
Voici le début d’une couche d’un vrai fichier, un 3DBenchy tranché dans PrusaSlicer 2.9.5 :
;LAYER_CHANGE
;Z:0.6
;HEIGHT:0.2
;BEFORE_LAYER_CHANGE
G92 E0.0
;0.6
G1 E-.7 F2700
G1 X135.159 Y110.836 Z.4 F21000
G1 X136.128 Y110.075 Z.6 F4491.905
;AFTER_LAYER_CHANGE
;0.6
G1 X136.128 Y110.075 F21000
G1 Z.6 F720
G1 E.7 F1500La buse rétracte le filament (E-.7), se déplace rapidement en montant à la nouvelle couche, à 0,6 mm, puis repousse le filament (E.7).
Le G-code vient des machines-outils. Aux États-Unis, il a été défini par la norme RS-274, dont la dernière révision, RS-274-D, date de 1979, et au niveau international par l’ISO 6983. Il est arrivé dans l’impression 3D par le projet RepRap. Pour les imprimantes 3D, en revanche, il n’existe pas de norme commune : chaque firmware — Marlin, Klipper, RepRapFirmware, celui de Prusa — a ses propres commandes et ses propres extensions.
Outre .gcode, on utilise aussi les extensions .gco et .g. Klipper liste les trois depuis sa carte SD virtuelle, tout comme Marlin, qui affiche tout fichier dont l’extension 8.3 commence par G.
Ce que le trancheur écrit dans le fichier
Les commandes seules suffiraient à l’imprimante. Mais le trancheur ajoute des commentaires qui vous disent presque tout de l’impression. Le début du même fichier :
; generated by PrusaSlicer 2.9.5 on 2026-07-03 at 11:30:45 UTC
; printer_model = COREONE
; filament_type = PC
; nozzle_diameter = 0.4
; layer_height = 0.2
; temperature = 285
; filament used [mm] = 5786.33
; filament used [g] = 16.98
; filament cost = 1.27
; estimated printing time (normal mode) = 1h 4m 39s
; estimated printing time (silent mode) = 1h 10m 11sEn plus, le fichier contient :
- Des aperçus, encodés en texte (base64) entre des lignes comme
; thumbnail beginet; thumbnail end. Ce fichier en a quatre : trois images QOI pour l’écran de l’imprimante (16 × 16, 313 × 173 et 480 × 240 pixels) et un PNG de 380 × 285 pour les ordinateurs. - Le type de chaque tronçon de parcours. Avant chacun se trouve une ligne comme
;TYPE:External perimeterou;TYPE:Internal infill. Le Benchy en compte 772 pour le périmètre extérieur et 163 pour le remplissage interne. Les visionneuses colorent le parcours d’après ces lignes. - Les limites des couches :
;LAYER_CHANGE,;Z:et;HEIGHT:. Le Benchy a 240 couches. - Tous les réglages du trancheur à la fin du fichier, entre
; prusaslicer_config = beginet= end. Ici, cela fait 373 lignes. - La progression de l’impression pour l’écran : des lignes comme
M73 P0 R64indiquent le pourcentage effectué et le nombre de minutes restantes ;QetSfont de même pour le mode silencieux.
Chaque trancheur écrit cependant ses commentaires à sa façon. PrusaSlicer marque le type d’un tronçon ;TYPE:External perimeter, Cura ;TYPE:WALL-OUTER, Bambu Studio et OrcaSlicer ; FEATURE:. Une visionneuse qui ne connaît pas les marqueurs d’un autre trancheur ne peut pas colorer cette partie du parcours.
Tous ces commentaires rendent le G-code volumineux. Le Benchy fait 180 291 lignes et 4,5 Mo, dont 142 090 déplacements G1. La même impression enregistrée en .bgcode binaire pèse 1,76 Mo.
Pourquoi un G-code ne convient qu’à une seule imprimante
Le G-code est tranché pour une imprimante : la taille de son plateau, le diamètre de sa buse, son firmware et sa séquence de démarrage. Le rapport du NIST de 2000 avertissait déjà qu’un programme écrit pour une machine ne fonctionnerait probablement pas sur celle d’un autre fabricant. Il en va de même pour les imprimantes 3D.
Les imprimantes Prusa vérifient d’elles-mêmes. Le Benchy commence par ces lignes :
M862.1 P0.4 A1 F0
M862.3 P "COREONE"
M862.5 P2
M115 U6.5.3+12780M862.1 vérifie le diamètre de la buse, M862.3 le modèle d’imprimante et M862.5 le niveau de G-code. M115 U compare la version du firmware : si le firmware est plus ancien, l’imprimante, selon la documentation de Prusa, se met en pause 30 secondes et vous invite à le mettre à jour. Quand le modèle ne correspond pas, l’imprimante avertit que le G-code a été tranché pour un autre type d’imprimante — et sur le forum Prusa, on demande s’il est sûr de continuer.
La voie sûre est toujours la même : retranchez le modèle pour votre propre imprimante. Partager un G-code terminé n’a de sens qu’entre imprimantes identiques, avec la même buse.
Dans le trancheur, vous choisissez la variante de G-code (« G-code flavor »). PrusaSlicer en propose plus de dix, de Marlin 2 à RepRapFirmware en passant par Klipper. Quand Bambu Studio exporte un plateau tranché, il enregistre un paquet .gcode.3mf qui contient le G-code de chaque plateau.
Peut-on retransformer un G-code en modèle ?
Non. Le G-code contient le trajet de la buse, pas la forme. Les sites qui proposent de convertir du G-code en STL construisent un volume approximatif à partir des trajets, supports et remplissage compris. Ce n’est pas le modèle d’origine, et les formes lisses ne reviennent pas à partir de couches de 0,2 mm. Si vous avez besoin du modèle, demandez le STL, le 3MF ou le STEP à la personne qui l’a conçu.
Comment voir l’intérieur d’un G-code sur Mac, iPad et iPhone
macOS n’a pas de type de fichier pour le G-code. TextEdit l’ouvre comme du texte, et le Finder affiche une icône vierge — ni aperçu, ni vignette. Sous Windows, PowerToys s’en charge ; sur Mac, il vous faut une app :
- PrusaSlicer G-code Viewer est gratuit et lit le G-code de PrusaSlicer, Cura, Simplify3D et d’autres trancheurs.
- Des visionneuses web comme gcode.ws affichent le parcours couche par couche directement dans le navigateur. gcode.ws se décrit lui-même comme « slow, memory hungry » (lent et gourmand en mémoire).
- ThumbHost3mf ajoute des vignettes dans le Finder à partir de l’aperçu que le trancheur a enregistré dans le fichier.
- Preview3D, mon app, ouvre le G-code dans sa fenêtre, dans Quick Look et en vignette dans le Finder, sur Mac, iPad, iPhone et Apple Vision Pro.
Ce que Preview3D affiche d’un G-code :
- le parcours coloré par type, avec une légende, comme le dessine le trancheur,
- les extrusions à leur largeur réelle,
- un curseur de couches pour ouvrir l’impression à n’importe quelle hauteur,
- la durée d’impression, le filament, le poids et le matériau tirés de l’en-tête,
- en vignette dans le Finder, l’aperçu que le trancheur a enregistré dans le fichier.
L’app lit le G-code de PrusaSlicer, SuperSlicer, OrcaSlicer, Cura et Bambu Studio.

À quoi sert un aperçu de G-code, je l’explique plus en détail dans Examiner un G-code sur Mac sans lancer le trancheur.
Questions fréquentes
Un G-code fonctionne-t-il sur toutes les imprimantes 3D ?
Non. Il est tranché pour une imprimante, une buse et un firmware précis. Sur une autre imprimante, il peut imprimer à côté du plateau, à la mauvaise température, ou ne pas démarrer du tout.
Quelle différence entre .gcode, .gco et .g ?
Aucune — c’est le même format texte avec des extensions différentes.
Où se trouvent la durée d’impression et le filament utilisé dans un G-code ?
Dans les commentaires au début ou à la fin du fichier. PrusaSlicer écrit ; estimated printing time (normal mode) et ; filament used [g] ; Cura et Bambu Studio écrivent des lignes semblables dans leur propre format.
Puis-je modifier un G-code ?
Dans un éditeur de texte, oui, mais modifier une impression à la main est risqué. Changez la température, la hauteur de couche ou le matériau dans le trancheur, et retranchez le modèle.
Peut-on convertir un G-code en STL ?
Pas en modèle d’origine. On peut seulement construire un volume approximatif à partir des trajets, supports et remplissage compris.
Quelle différence entre .gcode et .bgcode ?
Ils contiennent les mêmes commandes ; le .bgcode est binaire et compressé. Les détails sont sur la page .bgcode.
Pages associées
- Le fichier .bgcode — le G-code binaire de PrusaSlicer
- Le fichier .3mf — le projet dont le trancheur tire le G-code, et le paquet .gcode.3mf
- Examiner un G-code sur Mac sans lancer le trancheur
Sources
- Wiki RepRap : G-code — syntaxe des commandes, commentaires, extensions
- NIST : The NIST RS274NGC Interpreter, Version 3 — origine dans la commande numérique, RS-274-D
- Marlin : G-code et Klipper : G-Codes
- Base de connaissances Prusa : commandes G-code propres au firmware Prusa — M862, M115, M73
- Base de connaissances Prusa : PrusaSlicer G-code Viewer
- PrusaSlicer : vignettes dans le G-code et marqueurs de type
- CuraEngine : export du G-code et OrcaSlicer : marqueurs de type
- Klipper : extensions sur la carte SD virtuelle et Marlin : liste des fichiers de la carte SD
De quel trancheur venait le G-code que Preview3D a mal coloré ? Envoyez-le-moi à apps@xfanta.com et j’ajouterai les marqueurs que l’app ne connaît pas encore.
Ouvrez-le dans Preview3D
STEP, 3MF, STL, G-code, BGCODE et plus sur Mac, iPad, iPhone et Vision Pro. Un seul achat, sans compte, sans réseau.
Preview3D sur l’App Store