For personal archival and educational use only. Respect the copyright of the model creators and the Sketchfab terms of service. Do not use this tool to share models that you do not have the rights to.
Sketchfab Ripper is a userscript for Tampermonkey. It exports the model that the Sketchfab viewer shows as a GLB or FBX file, with the skeleton, the animation and the textures.
- GLB export with skeleton and skinning: bone names, parents and bind pose.
- FBX export (binary FBX 7.4) of the same scene: skeleton, skin, all recorded clips, morph targets (shape keys), vertex colors and materials.
- Animation recording: one full loop of the active clip, or all clips of a multi-clip model.
- Animation of unskinned parts and of morph target weights.
- PBR textures: base color, normal, metallic-roughness, emission, occlusion, opacity and alpha mask (cutout).
- Material values for models without textures: base color, metalness, roughness, emission and opacity.
- Vertex colors, multiple primitives in one mesh, triangle strips and fans.
- Single-sided and double-sided materials, the same as in the viewer.
- Bones with non-uniform scale and shear, exported without data loss.
- Progress bars for recording and export: the current stage and the progress in that stage.
- The panel in English, Polish, Russian, Japanese, Korean, Spanish, Portuguese (Brazil), German, French and Simplified Chinese. If a text is wrong in your language, report it.
- A settings panel (gear icon) that keeps your settings.
- A desktop browser, for example Chrome, Brave, Edge or Firefox.
- Tampermonkey or a compatible userscript manager.
Tested with Tampermonkey (Chrome) and Violentmonkey (Firefox). The script must run in the page itself, not in an isolated sandbox. Greasemonkey 4 runs scripts only in a sandbox, so the script does not work with it.
- Install Tampermonkey in your browser.
- Open one of these links:
- In the Tampermonkey page that opens, click Install.
Install from one place only. If you have the script from both, remove one copy.
Tampermonkey updates the script from the place that you installed it from.
If the install page does not open:
- Open
src/Sketchfab-ripper.user.jsand copy all the text. - In Tampermonkey, click Create a new script.
- Delete the template text and paste the script.
- Save the script.
- Open a model page on Sketchfab.
- Wait until the model is fully visible and the MODEL RIPPER panel shows (top right).
- If the model has animation, do one of these steps:
- To record the active clip, click RECORD SINGLE CLIP. The script records one full loop and stops.
- To record all clips, click RECORD ALL CLIPS.
- Wait until the recording stops. The progress bars show the clip and the time in the clip.
- Under Download, click GLB or FBX.
The download is a zip file. It contains the GLB or FBX file and a textures folder.
The record buttons are grey when the model has no animation clips (RECORD ALL CLIPS needs two or more). The download buttons are grey while a recording or an export runs.
If you do not record, the export contains the model in its current pose.
Keep the Sketchfab tab visible while you record. The browser pauses a hidden or minimized tab, and the recording then loses frames.
Click the gear icon in the panel. The script keeps your settings for the next visit. Hold the pointer on a setting name to see what it does.
| Setting | Default | What it does |
|---|---|---|
| Language | Auto | Language of the panel. Auto uses the language of your browser. |
| Max seconds | 12 | Stops a manual recording after this time. |
| Record FPS | Max | Frames per second in the recording. Lower values make smaller files. |
| Auto-reload | On | Reloads the page one time if the script cannot connect to the viewer. |
| Double sided | On | Marks materials as double-sided, as in the viewer. |
| Auto single sided (viewer flag) | On | Keeps a material single-sided if the viewer shows it single-sided. |
| Drop strip slivers (stripes) | On | Removes long thin triangles that connect separate parts. |
| Reduce keyframes | On | Leaves out animation keys that the keys before and after them already give. The file gets about half as large. Turn it off if an animation looks wrong. |
| Keep still clips | Off | A clip in which no joint moves (a pose clip) becomes a pose of the skeleton, with two equal keys. Off: such clips are left out of the file. |
| Vertex color sRGB>linear | On | Converts vertex colors to the color space that glTF uses. |
| Flat metal/rough from viewer | On | Uses the metalness and roughness values of the viewer for materials without textures. |
| Export scale | 1 | Multiplies the size of the model. Use 0.01 for a model in centimeters. |
| MR format | JPEG | File format of the merged metallic-roughness textures: JPEG (small) or PNG (lossless). |
| Rest pose | Clip 1st frame | Sets the rest pose of the skeleton: the first recorded frame or the Static Pose of the viewer. |
- glTF viewer: drop the GLB file on gltf-viewer.donmccurdy.com. This viewer shows the export exactly.
- Blender: use File > Import > glTF 2.0 with the default options.
- Validator: drop the GLB file on the glTF validator to check it.
- FBX in Blender: use File > Import > FBX with the default options. Each clip becomes an action (Dope Sheet > Action Editor). Keep the
texturesfolder next to the FBX file.
- The FBX file uses Y up and meters, the same as the GLB.
- FBX has no packed metal/roughness texture. The zip has a separate roughness map and metallic map (
*_roughness.png,*_metallic.png). The roughness map is in the Shininess Exponent slot, which Blender reads as roughness. Other apps can read that slot as glossiness: if a material is too shiny, invert that map. - Blender shows transparent materials in Dithered mode after an FBX import. The GLB import uses Blended mode.
These models were exported with the script and opened in Blender. The list grows as the script improves. The Credits section has the authors and the license.
- phoenix bird
- Just a girl
- Shiba
- FREE 1975 Porsche 911 (930) Turbo
- Simple rigged and animated character
A model that fails? Please report it.
- The script gets a texture only when the viewer draws it. Wait until the model is fully visible before you export. On slow computers, some textures can be missing.
- The export has no tangents. Viewers calculate them from the normal map.
- If the panel does not show, reload the page.
If a model does not export correctly, open an issue and use the bug report form. The form asks for the model link, your settings, the steps and the console log. Without these data, the problem cannot be found.
For questions, use Discussions. For code changes, see CONTRIBUTING.md.
docs/NOTES.mdhas the technical notes: how the viewer stores data, the decisions in the exporter and the test history.tools/has read-only console probes. Paste a probe in the console of the viewer frame to examine a model.
- Original script injection: Risk
- Skeleton, animation and export work: anotherRandomPersonlol
Models in the social preview image. All four models use the CC BY 4.0 license. The image was rendered in Blender, with new lighting, a new background and text added.
- phoenix bird by NORBERTO-3D
- Just a girl by 腱鞘炎の人
- Shiba by zixisun02
- FREE 1975 Porsche 911 (930) Turbo by Lionsharp Studios
Models not in the social preview image but used in the README.md:
Sketchfab Ripper is not an official Sketchfab tool. It is not made, endorsed or supported by Sketchfab. For official downloads, use the Download button on sketchfab.com. The script icon is the Sketchfab logo, used as described on the Sketchfab press page.
This tool is for personal archival and educational use. You are responsible for obeying:
- the copyright of the model creators,
- the Sketchfab Terms of Service,
- the laws of your country about digital content.
The author does not support the sharing of copyrighted content.
MIT. See LICENSE.
