Export your Spline scene as GLB and drop it below to see what's heavy — and how to make it production-ready.
Drop a 3D model to grade it
or click to browse — GLB or glTF, up to 300 MB. It's graded in your browser; the file never leaves your device.
Spline makes 3D accessible for web designers, but its exports are design-quality, not production-quality. A scene with a few objects can easily produce a 30–60 MB GLB with hundreds of draw calls. The analyzer shows exactly what's heavy in your specific export and what to fix first.
Spline's design-first workflow is optimized for authoring, not delivery. Every shape, text element, and image in the canvas becomes a separate mesh object in the export — a scene with 40 design objects becomes 40+ draw calls. On mobile, that CPU overhead shows up as dropped frames before you've even loaded a single large texture.
Textures ship at full authoring resolution with no KTX2 compression. Spline doesn't apply Draco geometry compression at export time. Curved shapes and 3D text are tessellated into dense meshes. The result: a GLB that looks small in Spline's preview but hits 20–60 MB in production.
Start by reducing scene complexity inside Spline before export: merge objects that don't need to move independently, hide or delete elements that aren't visible in the final experience, and reduce subdivision on curved shapes. Each merged object is one fewer draw call.
After export, apply Draco geometry compression and KTX2 texture conversion via gltf-transform or the Khronos glTF pipeline. These two post-processing steps typically reduce a 40 MB Spline export to 4–8 MB with no visible quality change at production rendering distances.
We'll take your Spline GLB and return a web-optimized version — compressed textures, Draco geometry, reduced draw calls — ready to embed without apology. Free review and quote.
Draco/Meshopt geometry, KTX2 textures and clean decimation — without visible quality loss.
Optimized to load fast and render smoothly on phones, not just high-end desktops.
We protect silhouettes, UVs and materials so the model still looks like your model.
The three metrics that matter most for a Spline export are draw calls, texture VRAM, and file size — in that order for performance, reversed for download speed. Run your exported GLB through MeshGrade and you will see all three instantly, benchmarked against web and mobile targets.
Draw calls above 50 are a mobile CPU problem regardless of file size. Spline scenes with lots of individual objects regularly export at 100–300 draw calls. The fix is merging: objects that share a material and don't animate independently should be combined into a single mesh before export. In Spline, select the objects and use Group, then export the group as a single mesh rather than individual parts.
Textures are almost always the biggest file size contributor. A Spline scene with a background image, a normal map on a sphere, and a few gradient fills can carry 30–50 MB of uncompressed PNG data. Converting these to KTX2 at 2048×2048 or smaller typically brings the texture footprint down to 3–8 MB.
gltf-transform is the standard CLI for post-processing GLB files. A single command handles the most impactful changes: Draco geometry compression, KTX2 texture conversion, and mesh optimization. Install it with npm and run it on your Spline GLB as part of your build process.
# Install once
npm install -g @gltf-transform/cli
# Optimize a Spline export
gltf-transform optimize spline-scene.glb spline-scene.optimized.glb \
--compress draco \
--texture-compress ktx2After optimization, re-run the GLB through MeshGrade to confirm the draw call count, file size, and texture VRAM are within web targets before embedding in your page. A production Spline asset for a web landing page should aim for under 5 MB, under 50 draw calls, and under 100k triangles for smooth mobile rendering.
Export as GLB — it is the web-standard binary glTF format, supported by Three.js, React Three Fiber, Babylon.js and model-viewer. Spline's native .spline format is for authoring only; always export GLB for production use.
Spline exports every scene object as a separate mesh with uncompressed textures and no geometry compression. A scene with 40 elements can produce a 40+ MB GLB. Post-export optimization with Draco and KTX2 typically reduces it by 70–90%.
Yes. Any GLB optimized with Draco and KTX2 loads in Three.js with GLTFLoader + DRACOLoader + KTX2Loader. The optimization process does not change the format — just makes it smaller and faster.