Cos'è un file .gcode? Cosa contiene e perché è per una sola stampante
Il G-code è un elenco di comandi in testo che la stampante esegue riga per riga: dove va l'ugello, quanto materiale spingere, quale temperatura mantenere. Uno slicer lo scrive a partire da un modello 3D per una determinata stampante e aggiunge commenti con il tempo di stampa, il consumo di filamento e un'anteprima. Il modello in sé non c'è – solo il percorso dell'ugello.
In breve
- Estensione
- .gcode, .gco, .g
- Tipo
- Percorso di stampa (istruzioni per la stampante)
- Creato da
- EIA RS-274, RepRap
- Standard
- ISO 6983 (CNC)
- Specifica
- RepRap wiki: G-code
- macOS senza app
- Non lo conosce: niente anteprima, niente miniatura
Informazioni verificate il 4 novembre 2026
Un comando per riga
Ogni riga è un'istruzione fatta di «parole»: una lettera e un numero. G1 X10 Y-5 F2400 significa «muoviti in linea retta fino a X 10, Y −5 a 2400 mm/min». G avvia un movimento, M altri comandi (temperature, ventola), T un cambio utensile. X, Y e Z sono gli assi, E il materiale estruso, F la velocità, S una temperatura o la velocità del mandrino. Tutto ciò che segue un punto e virgola è un commento.
Questo è l'inizio di un layer di un file reale, un 3DBenchy di 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 F1500L'ugello ritira il filamento (E-.7), si sposta veloce salendo al nuovo layer a 0,6 mm e spinge di nuovo avanti il filamento (E.7).
Il G-code viene dalle macchine utensili. Negli Stati Uniti lo definiva lo standard RS-274, la cui ultima revisione, RS-274-D, risale al 1979, e a livello internazionale la ISO 6983. È arrivato alla stampa 3D attraverso il progetto RepRap. Per le stampanti 3D, però, non esiste uno standard comune: ogni firmware – Marlin, Klipper, RepRapFirmware, quello di Prusa – ha i propri comandi e le proprie estensioni.
Oltre a .gcode si usano anche le estensioni .gco e .g. Klipper le elenca tutte e tre dalla sua scheda SD virtuale, e lo stesso fa Marlin, che mostra ogni file la cui estensione 8.3 inizia con G.
Cosa scrive lo slicer nel file
Alla stampante basterebbero i soli comandi. Ma lo slicer aggiunge commenti che dicono quasi tutto sulla stampa. L'inizio dello stesso file:
; 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 11sIn più, il file contiene:
- Anteprime, codificate come testo (base64) tra righe come
; thumbnail begine; thumbnail end. Questo file ne ha quattro: tre immagini QOI per il display della stampante (16 × 16, 313 × 173 e 480 × 240 pixel) e un PNG da 380 × 285 per i computer. - Il tipo di ogni tratto di percorso. Prima di ciascuno c'è una riga come
;TYPE:External perimetero;TYPE:Internal infill. Il Benchy ne ha 772 per il perimetro esterno e 163 per il riempimento interno. I visualizzatori colorano il percorso in base a queste righe. - I confini dei layer:
;LAYER_CHANGE,;Z:e;HEIGHT:. Il Benchy ha 240 layer. - Tutte le impostazioni dello slicer alla fine del file, tra
; prusaslicer_config = begine= end. Qui sono 373 righe. - L'avanzamento della stampa per il display: righe come
M73 P0 R64dicono quale percentuale è fatta e quanti minuti mancano;QeSfanno lo stesso per la modalità silenziosa.
Ogni slicer, però, scrive i commenti a modo suo. PrusaSlicer segna il tipo di un percorso ;TYPE:External perimeter, Cura ;TYPE:WALL-OUTER, Bambu Studio e OrcaSlicer ; FEATURE:. Un visualizzatore che non conosce i marcatori di un altro slicer non sa colorare quella parte del percorso.
Tutti quei commenti rendono il G-code grande. Il Benchy ha 180.291 righe e 4,5 MB, di cui 142.090 sono movimenti G1. La stessa stampa salvata come .bgcode binario pesa 1,76 MB.
Perché il G-code è per una sola stampante
Il G-code è elaborato per una stampante: le dimensioni del suo piano, il diametro dell'ugello, il firmware e la sequenza iniziale. Già il rapporto del NIST del 2000 avvertiva che un programma per una macchina probabilmente non funzionerà su quella di un altro produttore. Con le stampanti 3D è lo stesso.
Le stampanti Prusa controllano da sole. Il Benchy inizia con queste righe:
M862.1 P0.4 A1 F0
M862.3 P "COREONE"
M862.5 P2
M115 U6.5.3+12780M862.1 controlla il diametro dell'ugello, M862.3 il modello di stampante e M862.5 il livello del G-code. M115 U confronta la versione del firmware: se il firmware è più vecchio, secondo la documentazione di Prusa la stampante si ferma per 30 secondi e chiede di aggiornarlo. Quando il modello non corrisponde, la stampante avverte che il G-code è stato elaborato per un altro tipo di stampante – e sul forum di Prusa c'è chi chiede se sia sicuro continuare.
La strada sicura è sempre la stessa: rifai lo slicing del modello per la tua stampante. Condividere G-code finito ha senso solo tra stampanti identiche con lo stesso ugello.
Nello slicer scegli il tipo di G-code (G-code flavor). PrusaSlicer ne offre più di dieci, da Marlin 2 passando per Klipper fino a RepRapFirmware. Quando Bambu Studio esporta un piano elaborato, salva un pacchetto .gcode.3mf con dentro il G-code di ogni piano.
Il G-code si può riconvertire in un modello?
No. Il G-code contiene il percorso dell'ugello, non la forma. I siti che offrono la conversione da G-code a STL costruiscono un volume approssimativo a partire dai percorsi, supporti e riempimento compresi. Non è il modello originale, e le forme morbide non tornano da layer di 0,2 mm. Se ti serve il modello, chiedi al progettista l'STL, il 3MF o lo STEP.
Come guardare dentro un G-code su Mac, iPad e iPhone
macOS non ha un tipo di file per il G-code. TextEdit lo apre come testo, e il Finder mostra un'icona vuota – niente anteprima, niente miniatura. Su Windows ci pensa PowerToys; sul Mac ti serve un'app:
- PrusaSlicer G-code Viewer è gratuito e legge il G-code di PrusaSlicer, Cura, Simplify3D e altri slicer.
- I visualizzatori web come gcode.ws mostrano il percorso layer per layer direttamente nel browser. Lo stesso gcode.ws si definisce «lento, affamato di memoria».
- ThumbHost3mf aggiunge le miniature nel Finder dall'anteprima che lo slicer ha salvato nel file.
- Preview3D, la mia app, apre il G-code nella sua finestra, in Quick Look e come miniatura del Finder, su Mac, iPad, iPhone e Apple Vision Pro.
Cosa mostra Preview3D di un G-code:
- il percorso colorato per tipo, con una legenda, come lo disegna lo slicer,
- le estrusioni con la loro larghezza reale,
- un cursore dei layer per aprire la stampa a qualsiasi altezza,
- tempo di stampa, filamento, peso e materiale dall'intestazione,
- come miniatura del Finder, l'anteprima che lo slicer ha salvato nel file.
Legge il G-code di PrusaSlicer, SuperSlicer, OrcaSlicer, Cura e Bambu Studio.

Di più su a cosa serve un'anteprima del G-code: Guardare dentro un G-code sul Mac senza aprire lo slicer.
Domande frequenti
Il G-code funziona su ogni stampante 3D?
No. È elaborato per una determinata stampante, un determinato ugello e un determinato firmware. Su un'altra stampante potrebbe stampare fuori dal piano, alla temperatura sbagliata, o non partire affatto.
Che differenza c'è tra .gcode, .gco e .g?
Nessuna – è lo stesso formato di testo con estensioni diverse.
Dove sono, in un file G-code, il tempo di stampa e il consumo di filamento?
Nei commenti all'inizio o alla fine del file. PrusaSlicer scrive ; estimated printing time (normal mode) e ; filament used [g]; Cura e Bambu Studio scrivono righe simili nel loro formato.
Posso modificare il G-code?
In un editor di testo sì, ma modificare una stampa a mano è rischioso. Cambia temperatura, altezza del layer o materiale nello slicer e rifai lo slicing del modello.
Il G-code si può convertire in STL?
Non nel modello originale. Si può solo costruire un volume approssimativo a partire dai percorsi, supporti e riempimento compresi.
Che differenza c'è tra .gcode e .bgcode?
Contengono gli stessi comandi; .bgcode è binario e compresso. I dettagli sono nella pagina su .bgcode.
Pagine correlate
- Il file .bgcode – G-code binario di PrusaSlicer
- Il file .3mf – il progetto da cui lo slicer genera il G-code, e il pacchetto .gcode.3mf
- Guardare dentro un G-code sul Mac senza aprire lo slicer
Fonti
- RepRap wiki: G-code – sintassi dei comandi, commenti, estensioni
- NIST: The NIST RS274NGC Interpreter, Version 3 – origine CNC, RS-274-D
- Marlin: G-code e Klipper: G-Codes
- Prusa Knowledge Base: comandi G-code specifici del firmware Prusa – M862, M115, M73
- Prusa Knowledge Base: PrusaSlicer G-code Viewer
- PrusaSlicer: miniature nel G-code e marcatori del tipo di percorso
- CuraEngine: esportazione del G-code e OrcaSlicer: marcatori del tipo di percorso
- Klipper: estensioni sulla scheda SD virtuale e Marlin: elenco dei file sulla scheda SD
Il G-code di quale slicer Preview3D ha colorato male? Mandamelo a apps@xfanta.com e aggiungerò i marcatori che ancora non conosce.
Aprilo in Preview3D
STEP, 3MF, STL, G-code, BGCODE e altro su Mac, iPad, iPhone e Vision Pro. Un solo acquisto, nessun account, nessuna rete.
Preview3D sull'App Store