User Rating 0.0
Total Usage 0 times
Drop .fbx file here or click to browse FBX Binary 7.x • Max 100 MB
Is this tool helpful?

Your feedback helps us improve.

About

FBX (Filmbox) is Autodesk's proprietary 3D interchange format used across most DCC tools (Blender, Maya, 3ds Max). LibGDX, the Java game framework, uses its own binary format G3DB (and its JSON sibling G3DJ) for runtime model loading. The official fbx-conv command-line tool requires a native binary per OS and a local build environment. Getting the conversion wrong produces invisible models, flipped faces, or corrupted UV maps that waste hours of debugging. This tool parses real FBX 7.x binary data in your browser, extracts geometry nodes (vertices, polygon vertex indices, normals, UV layers), applies optional UV coordinate flipping (v 1 v) to correct Blender's inverted texture coordinates, and serializes valid G3DB or G3DJ output. Limitations: this handles static meshes. Skeletal animation, blend shapes, and embedded textures require the native fbx-conv binary.

fbx g3db g3dj libgdx 3d model converter fbx converter game development 3d format

Formulas

FBX binary stores polygon indices using a sign convention. Each polygon's last index is stored as a bitwise negation to mark the polygon boundary:

actual_index = ¬raw_index (i.e., raw_index 1) when raw_index < 0

N-gon triangulation uses fan decomposition from vertex v0:

For polygon [v0, v1, vn] triangles: (v0, vi, vi+1) for i = 1 n1

UV coordinate flipping corrects Blender's inverted V-axis:

vcorrected = 1.0 voriginal

G3DB vertex stride is determined by enabled attributes:

stride = 3 (position) + 3 (normal) + 2 (texcoord) = 8 floats/vertex

Where v0 through vn are polygon vertex indices, vcorrected is the flipped texture V coordinate, and stride is the number of float components per interleaved vertex.

Reference Data

FeatureFBX Binary 7.xG3DJ (JSON)G3DB (Binary)
Format TypeBinary (proprietary)JSON textBinary (LE)
Magic BytesKaydara FBX BinaryN/A (JSON)N/A (G3DJ binary form)
Vertex PositionsVertices in Geometry nodemeshes[].vertices[]Float32 array
NormalsLayerElementNormalattributes["NORMAL"]Float32 interleaved
UV CoordinatesLayerElementUVattributes["TEXCOORD0"]Float32 interleaved
IndicesPolygonVertexIndex (negative = end)parts[].indices[]Int16/Int32 array
MaterialsMaterial node propertiesmaterials[] with colorsSerialized material block
TransformsModel node Lcl propsnodes[].translation/rotation/scaleFloat32 arrays
AnimationAnimationCurveNodeanimations[]Keyframe blocks
Max Vertices (typical)Unlimited~65535 per mesh part~65535 (short indices)
EndiannessLittle-endianN/ALittle-endian
String EncodingLength-prefixedUTF-8Length-prefixed UTF-8
CompressionOptional zlib per node (7.5+)NoneNone
File Extension.fbx.g3dj.g3db
Human ReadableNoYesNo
LibGDX LoaderNot supportedG3dModelLoaderG3dModelLoader
UV Flip Needed (Blender)Yes (V axis)Applied during conversionApplied during conversion
Polygon SupportN-gons, Tris, QuadsTriangles onlyTriangles only
Typical File Size Ratio1.0×~35× larger~0.30.5×

Frequently Asked Questions

Blender and most DCC tools use a bottom-left UV origin, while LibGDX (OpenGL) expects top-left for standard texture sampling. Enable the "Flip UVs" option to apply v 1.0 v correction. The original fbx-conv tool defaults this to true for the same reason.
This tool parses FBX Binary format version 7.x (versions 7100 through 7700), which covers exports from Blender 2.8+, Maya 2015+, and 3ds Max 2015+. FBX ASCII format and versions below 7000 are not supported. Check your export settings to ensure "FBX Binary" is selected.
Use G3DB for production builds. It is the binary-serialized form of G3DJ, typically 6070% smaller and faster to parse at runtime. Use G3DJ (JSON) during development for debugging - you can open it in a text editor and inspect vertex data, material assignments, and node hierarchy directly.
FBX supports arbitrary polygons. LibGDX requires triangulated meshes. The converter automatically performs fan triangulation: for a polygon with vertices [v0, v1, ..., vn], it generates triangles (v0, vi, vi+1). For complex concave n-gons, pre-triangulate in your modeling software for best results.
The tool processes files up to 100 MB. Processing occurs in a Web Worker to avoid blocking the UI. A model with 500,000 triangles typically converts in under 3 seconds on modern hardware. Memory usage is approximately 3× the input file size during peak conversion.
No. This converter extracts static mesh geometry (positions, normals, UVs) and basic material properties. Skeletal animation requires parsing FBX AnimationCurveNode trees and deformer clusters, which demands the native fbx-conv binary. For animated models, use the command-line tool from libgdx.badlogicgames.com/fbx-conv/.