.bgcode ファイルとは?Prusa のバイナリ G-code を解説
.bgcode ファイルは、PrusaSlicer がバージョン 2.7 からバイナリ形式で保存する G-code で、Prusa によると平均で約 70% 小さくなります。ただしテキストエディタでは読めず、Prusa のプリンター以外ではほとんど対応していません。ここでは、中に何が入っているか、何で開けるか、普通の .gcode に戻す方法を説明します。
概要
- 拡張子
- .bgcode
- 種類
- ツールパス(プリンターへの命令)
- 開発元
- Prusa Research
- 登場
- 2023
- 規格
- 正式な規格ではない
- アプリなしの macOS
- 知らない:プレビューもサムネイルもなし
情報の確認日:2026年11月2日
中身は同じ命令、包み方が違うだけ
.bgcode には、テキストの G-code ファイルとまったく同じプリンターへの命令が入っています。ノズルをどこへ動かすか、どれだけ押し出すか、何度に保つか。違うのは包み方だけです。1 本の長いテキストではなく、ファイルはブロックに分かれていて、各ブロックは圧縮でき、それぞれ独自のチェックサムを持てます。
Prusa は 2023 年に PrusaSlicer 2.7 とともにこの形式を導入し、仕様を GitHub の libbgcode リポジトリで公開しました。つまりオープンではありますが、STEP や 3MF のような標準規格ではなく、Prusa Research のものです。読み書きするライブラリのライセンスは AGPL-3.0 です。
この形式が作られた理由は 3 つあります。ファイルが小さければ、USB メモリへのコピーもネットワーク経由の転送も速くなります。印刷情報とプレビューが専用のブロックに入っているので、プリンターはツールパス全体を読まなくても必要な情報を早く見つけられます。そして、途中で壊れたファイルはチェックサムで見つかります。
中身:GCDE ヘッダーと決まった順序のブロック
すべての .bgcode は 4 文字の GCDE で始まります。続いて形式のバージョン(今のところバージョン 1 しかありません)と、チェックサムの種類(実際には CRC32)が来ます。その後にブロックが、常に同じ順序で並びます。
- ファイルのメタデータ:ファイルを作ったソフト
- プリンターのメタデータ:どのプリンターとノズル向けの印刷か
- サムネイル:モデルの画像(1 ブロックに 1 枚)
- 印刷のメタデータ:予想印刷時間、フィラメントの使用量
- スライサーのメタデータ:PrusaSlicer がスライスに使った設定のすべて
- G-code ブロック:ツールパスそのもの
メタデータは単純な「キー = 値」の組です。PrusaSlicer はツールパスを、メモリの少ない機器向けに作られたアルゴリズム Heatshrink で圧縮し、さらに MeatPack でエンコードします。MeatPack は、G-code で最もよく使われる 15 文字を 8 ビットではなく 4 ビットで書く方式です。もとは、プリンターとの遅いシリアル接続を速くするための OctoPrint プラグインとして生まれました。
どれくらい小さくなるか
Prusa によると、同社のテストではバイナリ G-code はテキストより平均で約 70% 小さくなりました。libbgcode 自体のテストデータでは、小さな立方体が 641,092 バイトから 149,258 バイトに縮みます。4 分の 1 弱です。どれだけ小さくなるかは、モデルと印刷設定によって変わります。
読めるもの、読めないもの
| ソフトウェアまたはプリンター | .bgcode |
|---|---|
| Buddy ファームウェア 5.1.0 以降の Prusa プリンター(MINI、MK4 と MK4S、MK3.5、MK3.9、XL、CORE One) | 対応 |
| PrusaSlicer とその G-code ビューア | 対応、変換も可能 |
| PrusaLink と Prusa Connect | 対応 |
| Repetier-Server | バージョン 1.4.16 から |
| OctoPrint | BGCode プラグインがある場合のみ |
| Klipper | 非対応 |
| OrcaSlicer、Bambu Studio | 非対応 |
| Original Prusa MK3S | PrusaSlicer が有効にしない |
| macOS(Finder、クイックルック) | 非対応 |
| Preview3D(Mac、iPad、iPhone、Vision Pro) | 対応 |
プリンターにファイルが表示されない理由
よくある原因は古いファームウェアです。Buddy ファームウェアが 5.1.0 より古い Prusa プリンターは .bgcode ファイルを一覧にまったく表示しないので、USB メモリが空に見えます。ファームウェアを更新するか、ファイルをテキストの G-code に変換してください。
もう 1 つの原因は、プリンターがこの形式をそもそも知らないことです。Klipper や他メーカーのプリンターは対応しておらず、PrusaSlicer もそうしたプリンター向けには .bgcode で保存しません。Prusa のプリンターを持っている人から .bgcode が送られてきたら、変換してください。
.bgcode から .gcode へ、またその逆
PrusaSlicer では、変換は File → Convert にあります。
- Convert binary G-code to ASCII は .bgcode をテキストの .gcode に変換します
- Convert ASCII G-code to binary はその逆です
コマンドラインがよければ、libbgcode には bgcode ツールが付いています。bgcode model.bgcode を実行すると、同じ場所にテキストの model.gcode が書き出されます。
PrusaSlicer に .bgcode をまったく保存させたくない場合は、Preferences(Mac では PrusaSlicer メニュー、⌘ ,)を開き、Other タブで Use binary G-code when the printer supports it をオフにします。このスイッチは 2.7.1 からあります。バージョン 2.7.0 は、対応するすべてのプリンターで既定で .bgcode を保存し、その結果 OctoPrint へのアップロードが動かなくなりました。
Mac、iPad、iPhone で .bgcode の中を見る方法
macOS は .bgcode をまったく知りません。ファイルの種類が登録されておらず、Finder には白紙のアイコンが表示され、スペースキー(クイックルック)を押しても何も表示されません。Windows なら PowerToys で対応できますが、Mac では何かを追加する必要があります。
- PrusaSlicer は G-code ビューアで開き、ツールパスをレイヤーごとに表示します。無料ですが、1 回のプレビューのためにスライサー全体を起動することになります。
- ThumbHost3mf は、.bgcode を含めて Finder のサムネイルを追加します。ファイルの中身は表示しません。
- Preview3D(私のアプリ)は、.bgcode をウィンドウ、クイックルック、Finder のサムネイルで開きます。ツールパスを種類(外周、インフィル、ブリッジ、サポート)ごとに色分けして描き、レイヤースライダーを備え、印刷時間、フィラメントの長さ、重量、レイヤー高さ、材料をメタデータから読み取ります。iPad、iPhone、Apple Vision Pro でも同じように動作します。

サムネイル:プリンターには QOI、コンピューターには PNG
PrusaSlicer のファイルには通常、サムネイルが複数入っています。プリンターのディスプレイ用は QOI(Quite OK Image)です。プリンターにとって PNG のデコードは重すぎたため、Prusa はファームウェア 5.1.0 で QOI を採用しました。コンピューター用には、PrusaSlicer がもう 1 枚の画像を PNG で追加します。
一部のツールで .bgcode のプレビューが表示されないのはこのためです。QOI を読めないのです。Preview3D は Finder 用に PNG を使います。
よくある質問
.bgcode は .gcode より優れていますか?
対応する Prusa のプリンターなら、はい。ファイルが小さく、破損も検出されます。それ以外では、いいえ。変換しないと読めず、ほとんどのソフトウェアはこの形式を知りません。
PrusaSlicer 以外のスライサーでも .bgcode を作れますか?
私の知る限り、広く使われているスライサーで .bgcode を書き出せるのは PrusaSlicer だけです。OrcaSlicer と Bambu Studio は対応していません。ほかのスライサーで作ったテキストの G-code は、PrusaSlicer か bgcode ツールで変換できます。
OctoPrint は .bgcode に対応していますか?
単体では対応していません。BGCode プラグインが、アップロードされたファイルをテキストの G-code に変換します。OctoPrint のメンテナーは、.bgcode はプリンター上に保存しておくためのもので、プリンターへ送るためのものではないとして、ネイティブ対応を見送りました。
.bgcode はテキストエディタで開けますか?
いいえ、バイナリです。上で説明したように、まず .gcode に変換してください。
.bgcode には色や材料の情報が入っていますか?
G-code と同じ形で入っています。フィラメントの交換は命令の中に、材料の種類と使用量はメタデータにあります。3D モデルやテクスチャは入っておらず、あるのはノズルの経路だけです。
関連する形式
- G-code:同じ命令のテキスト版です。スライサーを使わずに中を見る方法は スライサーなしで G-code を見る にあります。
- 3MF:PrusaSlicer が G-code をスライスする元のプロジェクトです。Mac 用 3MF ビューア をご覧ください。
出典
- libbgcode リポジトリにある形式の仕様
- Prusa Knowledge Base:Binary G-code
- GitHub の PrusaSlicer 2.7.0
- GitHub の Buddy ファームウェア 5.1.0
- OctoPrint の issue #4900 と BGCode プラグイン
- Repetier-Server 1.4.16
Prusa のプリンター以外で .bgcode を印刷していますか? たとえば Repetier-Server や、プラグインを入れた OctoPrint で。何が動くかを apps@xfanta.com まで教えてください。表に追加します。
Preview3D で開く
STEP、3MF、STL、G-code、BGCODE などを Mac、iPad、iPhone、Vision Pro で。一度の購入で、アカウントもネットワークも不要です。
App Store の Preview3D