Rust-native exporter for Marmoset .mview scenes.
Prebuilt binaries are published from GitHub Actions releases:
- Windows x64
- Linux x64
- macOS arm64
- macOS x64
Latest release: latest
Download the archive that matches your platform:
- Windows 64-bit:
mviewer-vX.Y.Z-windows-x64.zip - Linux 64-bit:
mviewer-vX.Y.Z-linux-x64.tar.gz - macOS Apple Silicon:
mviewer-vX.Y.Z-macos-arm64.tar.gz - macOS Intel:
mviewer-vX.Y.Z-macos-x64.tar.gz
After extracting a release archive, run:
mviewer --help
-
.mviewarchive parsing -
scene.jsonparsing - static glTF scene export
- animated glTF scene export
- skinning export
- camera export
- light export
- primary UV export
- corrected UV orientation parity
- packed normal decoding
- vertex color export
- material texture extraction
- alpha texture merge
- metallic-roughness texture packing
- embedded Marmoset runtime preview in the desktop GUI
- direct OBJ export in the desktop GUI
- full plain-glTF parity for all Marmoset-only runtime behavior
-
.glboutput - direct
FBXexport
- Rust-native command-line tool
- Native desktop GUI with embedded Marmoset preview
- Windows, Linux, and macOS builds
- GitHub Actions CI and release packaging
- GitHub Pages project site
- sample animated fixtures in-repo
mviewer input.mview output_dirExample:
mviewer test_data\vivfox.mview test_output\vivfoxThis writes for glTF:
<name>.gltf<name>.bin- copied texture files used by the scene
- merged
*_rgba.pngtextures when the source scene uses a separate alpha map
For GLB:
mviewer test_data\vivfox.mview test_output\vivfox_glb --format glbThis writes:
<name>.glb
Launch the desktop app with:
mviewer
The current GUI supports:
- opening a local
.mviewfile - loading a supported URL directly, including ArtStation artwork pages that expose a public
.mview - previewing the scene through the embedded Marmoset runtime
- exporting to glTF, GLB, or OBJ/MTL
- choosing export options per format
- remembering the last export defaults and recent files
mviewer exports .mview scenes to glTF and GLB directly.
The desktop GUI can also export selected meshes to OBJ/MTL with source textures.
If you need other formats:
mview to fbx: export to glTF first, then convert with Blender or another downstream toolmview to obj: export to glTF first, then convert if you only need static geometry/materialsmview to blender: import the generated glTF into Blender
glTF is the primary interchange format because it preserves modern materials, skins, animation, cameras, and lights better than the old script-based workflow.
Requirements:
- Rust stable toolchain
Build:
cargo build --releaseRun GUI:
cargo runRun CLI:
cargo run --release -- <input.mview> [output_dir]mviewer is a Rust-native Marmoset .mview viewer, exporter, and converter focused on .mview to glTF export.
If you are looking for an mview viewer, mview editor, mview to gltf, mview to fbx, or mview to obj workflow, the current project path is:
.mview -> glTF -> optional conversion to FBX, OBJ, Blender, or other formats
This repository no longer uses the old Python extractors or the Noesis plugin as its primary workflow. The current implementation reads .mview archives directly, exports with a Rust backend, and uses the embedded Marmoset runtime in the desktop GUI for preview parity.
- stock third-party glTF viewers only see the standard glTF export
- direct
FBXexport is not implemented yet
These files are still kept in the repo as format references:
docs/reverse-engineering/marmoset-d3f745560e47d383adc4f6a322092030.js
The newer bundled Marmoset JavaScript is the primary reference for format and runtime parity work.

