Skip to content

About

A Tampermonkey userscript that exports Sketchfab models as GLB with skeleton, animations, and textures preserved. For personal archival and 3D research.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Latest commit

 

History

147 Commits

Folders and files

Repository files navigation

Sketchfab Ripper

Greasy Fork installs Greasy Fork version Greasy Fork rating GitHub release downloads License: MIT

Sketchfab Ripper: four exported models rendered in Blender

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.

Features

  • 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.

Requirements

  • 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

  1. Install Tampermonkey in your browser.
  2. Open one of these links:
  3. 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:

  1. Open src/Sketchfab-ripper.user.js and copy all the text.
  2. In Tampermonkey, click Create a new script.
  3. Delete the template text and paste the script.
  4. Save the script.

Export a model

  1. Open a model page on Sketchfab.
  2. Wait until the model is fully visible and the MODEL RIPPER panel shows (top right).
  3. 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.
  4. Wait until the recording stops. The progress bars show the clip and the time in the clip.
  5. 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.

Settings

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.

Open the export

  • 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 textures folder next to the FBX file.

FBX notes

  • 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.

Tested models

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.

A model that fails? Please report it.

Known limitations

  • 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.

Report a problem

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.

For developers

  • docs/NOTES.md has 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.

Credits

  • 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.

Models not in the social preview image but used in the README.md:

Disclaimer

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 author does not support the sharing of copyrighted content.

License

MIT. See LICENSE.

About

A Tampermonkey userscript that exports Sketchfab models as GLB with skeleton, animations, and textures preserved. For personal archival and 3D research.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages