# Blender 3.6 glTF Export - Textures Incorrect in Three.js but Correct on Re-import

**URL:** <https://discourse.threejs.org/t/blender-3-6-gltf-export-textures-incorrect-in-three-js-but-correct-on-re-import/84765>\
**Category:** Questions\
**Tags:** blender, blender-exporter\
**Created:** [July 2, 2025, 1:32pm UTC](https://discourse.threejs.org/t/blender-3-6-gltf-export-textures-incorrect-in-three-js-but-correct-on-re-import/84765 "2025-07-02T13:32:14Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![BaumJS](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/baumjs/32/61357_2.png) [@BaumJS](https://discourse.threejs.org/u/BaumJS)\
**Post date:** [July 2, 2025, 1:32pm UTC](https://discourse.threejs.org/t/blender-3-6-gltf-export-textures-incorrect-in-three-js-but-correct-on-re-import/84765/1 "2025-07-02T13:32:14Z")

</div>

Hi everyone,

I’m having a texture issue with a glTF model exported from Blender that I can’t seem to solve. When I export my character as a `.glb` file and re-import it into a blank Blender project, it looks perfect—all textures and materials are correct.

However, when I load the exact same `.glb` file in my Three.js scene, most of the model renders with a shiny, silver/metallic material instead of its actual textures.

This suggests my Blender export settings are correct? and the issue is somewhere in my Three.js setup? no clue

**My Workflow:**

1. Downloaded a character model from Mixamo (FBX format).
2. Imported the FBX into Blender 3.6.
3. Made some adjustments and exported as a glTF Binary (`.glb` ).
4. Loading the `.glb` into my Three.js application.

**The Issue:** Here is a side-by-side comparison. The left is how it looks in Blender (correct), and the right is how it renders in my Three.js app (incorrect textures).

As you can see, only the face and headphones seem to have some color, while the rest of the body is metallic.

 ![brave_YWJamRjZFm](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/d/2/d292e2ca4ab0801b7bc9bd7f22008865aa51d307.jpeg)

**My Code:**

Here is the relevant JavaScript code I’m using to set up the renderer and load the model.

**Renderer Setup (`initRenderer` ):**

```javascript
function initRenderer() {
    scene = new THREE.Scene();
    renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setSize(window.innerWidth, window.innerHeight);
    renderer.setPixelRatio(window.devicePixelRatio);

    renderer.outputColorSpace = THREE.SRGBColorSpace;
    renderer.toneMapping = THREE.ACESFilmicToneMapping;
    renderer.toneMappingExposure = 1.0; 

    container.appendChild(renderer.domElement);
}

```

**Model Loading (`loadAvatar` ):**

```javascript
function loadAvatar() {
    const gltfLoader = new GLTFLoader();
    gltfLoader.load("/models/Human.glb", (glb) => {
        const model = glb.scene;
        model.scale.set(100, 100, 100);
        model.position.set(0, -150, 0);
        scene.add(model);
        console.log("Model loaded:", model);
    });
}

```

**What I’ve Tried:**

- Confirmed the `.glb` file is valid by re-importing it into Blender.
- Ensured my materials in Blender use the `Principled BSDF` shader.
- Set `renderer.outputColorSpace` and `renderer.toneMapping` as recommended for PBR workflows.

I feel like I’m missing something obvious in the Three.js scene setup. Does anyone have any ideas what could be causing the PBR materials to render incorrectly?

Thanks in advance for any help!

---

<div class="post-metadata">

**Author:** ![donmccurdy](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/donmccurdy/32/33209_2.png) [@donmccurdy](https://discourse.threejs.org/u/donmccurdy)\
**Post date:** [July 2, 2025, 1:42pm UTC](https://discourse.threejs.org/t/blender-3-6-gltf-export-textures-incorrect-in-three-js-but-correct-on-re-import/84765/2 "2025-07-02T13:42:37Z")

</div>

Do you see any warnings in the JS Console?

And, if you open the model in [https://gltf.report/](https://gltf.report/), does it appear correctly? In the “Metadata” tab, what extensions are listed, and in the “Validate” tab are there any warnings/errors?

---

<div class="post-metadata">

**Author:** ![BaumJS](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/baumjs/32/61357_2.png) [@BaumJS](https://discourse.threejs.org/u/BaumJS)\
**Post date:** [July 2, 2025, 1:57pm UTC](https://discourse.threejs.org/t/blender-3-6-gltf-export-textures-incorrect-in-three-js-but-correct-on-re-import/84765/3 "2025-07-02T13:57:24Z")

</div>

> [@donmccurdy](#):
>
> what extensions are listed, and in the “Validate” tab are there any warnings/errors?

Hey thanks for fast reply! when i import it there i get Errorcode: STATUS\_BREAKPOINT actually

Edit: So unfortunately i cant even see the Validate tab, no warnings in my JS console

---

<div class="post-metadata">

**Author:** ![donmccurdy](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/donmccurdy/32/33209_2.png) [@donmccurdy](https://discourse.threejs.org/u/donmccurdy)\
**Post date:** [July 2, 2025, 2:12pm UTC](https://discourse.threejs.org/t/blender-3-6-gltf-export-textures-incorrect-in-three-js-but-correct-on-re-import/84765/4 "2025-07-02T14:12:01Z")

</div>

Hm that last part sounds like a Chrome bug discussed in

> [@GLTF export/import seems to lead to a crash of chrome/edge](https://discourse.threejs.org/t/gltf-export-import-seems-to-lead-to-a-crash-of-chrome-edge/84671/11):
>
> I think the chromium team may already have corrected the bug in the beta version of chrome. Version 138.0.7204.50 (Build officiel) (64 bits) =\> leads to a crash Version 139.0.7258.5 (Build officiel) beta (64 bits) =\> perfectly fine @manthrax could you please try the current official version 138.0.7204.50 ? If it indeed crashes, I think it’s safe to say that we should not worry too much about this bug that only appears somewhere between 137.0.7151.120 and 139.0.7258.5 I bet we could find the…

Possible to test that in a different browser, Safari or Firefox?

---

<div class="post-metadata">

**Author:** ![BaumJS](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/baumjs/32/61357_2.png) [@BaumJS](https://discourse.threejs.org/u/BaumJS)\
**Post date:** [July 2, 2025, 2:15pm UTC](https://discourse.threejs.org/t/blender-3-6-gltf-export-textures-incorrect-in-three-js-but-correct-on-re-import/84765/5 "2025-07-02T14:15:01Z")

</div>

> [@donmccurdy](#):
>
> Possible to test that in a different browser, Safari or Firefox?

Ah good idea tried all of em same result unfortunately with the white coloring, i tried it with a diffrent model from mixamo now and it displays it correctly within my app so i think its within my blender project so its time to bother the blender forums with my problem haha, thanks for the help!

---

<div class="post-metadata">

**Author:** ![vis\_prime](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/vis_prime/32/39829_2.png) [@vis\_prime](https://discourse.threejs.org/u/vis_prime)\
**Post date:** [July 3, 2025, 4:56am UTC](https://discourse.threejs.org/t/blender-3-6-gltf-export-textures-incorrect-in-three-js-but-correct-on-re-import/84765/6 "2025-07-03T04:56:56Z")

</div>

post a screenshot of the blender’s shader node tree.

most likely there’s some node present which blender’s gltf exporter does not support and it’s skipping

---

<div class="post-metadata">

**Author:** ![BaumJS](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/baumjs/32/61357_2.png) [@BaumJS](https://discourse.threejs.org/u/BaumJS)\
**Post date:** [July 3, 2025, 6:32am UTC](https://discourse.threejs.org/t/blender-3-6-gltf-export-textures-incorrect-in-three-js-but-correct-on-re-import/84765/7 "2025-07-03T06:32:18Z")

</div>

> [@vis\_prime](#):
>
> post a screenshot of the blender’s shader node tree.

that thing?

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/f/7/f79828413776f0ae43fbfea6170a615f201521e9.jpeg)

---

<div class="post-metadata">

**Author:** ![vis\_prime](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/vis_prime/32/39829_2.png) [@vis\_prime](https://discourse.threejs.org/u/vis_prime)\
**Post date:** [July 3, 2025, 6:40am UTC](https://discourse.threejs.org/t/blender-3-6-gltf-export-textures-incorrect-in-three-js-but-correct-on-re-import/84765/8 "2025-07-03T06:40:28Z")

</div>

set the metalness to 0 and try exporting  
(select the bsdf node and click the reset just to be thorough)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/d/1/d19be562e643306d909b5ac76c7ec374ef9fa198.png)

if still broken  
disconnect the specular image and try exporting

if still broken  
disconnect the normal and try exporting

if still broken  
clear custom normals and try exporting

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/a/c/acc2b73e31d6bb0be2c766bd5124ef8260382d65.jpeg)

---

<div class="post-metadata">

**Author:** ![BaumJS](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/baumjs/32/61357_2.png) [@BaumJS](https://discourse.threejs.org/u/BaumJS)\
**Post date:** [July 3, 2025, 6:55am UTC](https://discourse.threejs.org/t/blender-3-6-gltf-export-textures-incorrect-in-three-js-but-correct-on-re-import/84765/9 "2025-07-03T06:55:37Z")

</div>

> [@vis\_prime](#):
>
> set the metalness to 0 and try exporting

Oh dude such a live saver thanks so much, “clear custom normals and try exporting” seems was the solution
