Beta

Frequently asked questions

Everything about Local 3D Viewer — a free 3D viewer that opens OBJ, STL, PLY, GLB and Gaussian splat files directly in your browser, with nothing uploaded to a server. Answers are grouped by topic below.

Getting started

What is Local 3D Viewer?

Local 3D Viewer is a free online 3D viewer that runs entirely in your web browser. You open a 3D model or scan, inspect it, optionally apply a cinematic effect, and export a video or a still image. There is nothing to install and no account to create.

Is it free to use?

Yes. Every feature — viewing, display modes, effects, video export and image export — is free, with no trial period, no watermark removal fee and no usage limit.

Do I need to create an account or sign in?

No. There is no sign-up, no login and no email required. Open the page and drop in a file.

Do I need to install any software or plugin?

No. It is a web page. A modern browser with WebGL support is all you need — no desktop application, browser extension or plugin.

How do I open my first model?

Click "Upload a model" on the home page, or drag a file anywhere onto the page. The file is read locally and the viewer opens with your model framed and centred.

Which browsers are supported?

Recent versions of Chrome, Edge, Firefox and Safari on both desktop and mobile. The viewer needs WebGL; video export additionally needs the browser's MediaRecorder support, which is available in Chrome, Edge and Firefox and in recent Safari.

Does it work on a phone or tablet?

Yes. The interface adapts to small screens and the model responds to touch: one finger rotates, two fingers move it and a pinch zooms. Very large files are limited by the memory of the device rather than by the viewer.

Can I use it offline?

Not fully. Your model is processed locally, but the page itself loads its 3D engine and fonts from the network on first visit, so an internet connection is needed to open the site.

Is there a file size or file count limit?

There is no artificial limit. The practical ceiling is your device's memory. Large OBJ files and binary Gaussian splat PLY files are streamed in chunks so that files of several hundred megabytes remain usable.

How do I report a problem or request a feature?

Use the feedback button in the viewer's top-right corner. It opens a short form where you can describe the issue, ideally with the file format, file size, browser and operating system you were using.

Files & formats

Which 3D file formats can I open?

OBJ (with its .mtl file and texture images), STL, PLY, GLB, SPLAT, SPZ and ASC point clouds.

Can I open an OBJ file with textures?

Yes. Select the .obj, its .mtl and the texture images together, or open the .obj first and add the .mtl and images afterwards — the viewer reapplies them and keeps your camera position.

Are both ASCII and binary STL supported?

Yes, both variants load. STL carries no colour or texture information, so an STL model is always shown in a single neutral material.

What kinds of PLY files are supported?

ASCII and binary PLY, as meshes or as point clouds, with per-vertex colour under several common naming conventions, with UV coordinates plus an external texture image, and as 3D Gaussian splats.

Is glTF supported as well as GLB?

Only the single-file binary GLB container is supported. A .gltf file that references separate .bin and image files cannot be opened directly — export or convert it to .glb first.

What is the ASC format used for here?

ASC is treated as a plain-text point cloud: one point per line as "x y z", or "x y z r g b" when the file includes colour. Lines starting with # are ignored.

Can I open FBX, 3MF, STEP, DAE or USDZ files?

Not at the moment. Convert them to OBJ, STL or GLB first — most CAD and DCC applications, and MeshLab, can export those formats.

Which texture image formats can I use?

PNG, JPEG, BMP, WebP and GIF decode reliably because the browser handles them natively. TGA files are accepted alongside a model but may not display, so convert TGA textures to PNG.

Can I open several models at once?

One model is shown at a time. Selecting a new model replaces the current one, which keeps memory use predictable with large scans.

Does it read a ZIP archive containing a model?

No. Extract the archive first and select the model together with its .mtl file and texture images.

Privacy & data

Are my 3D models uploaded to a server?

No. Files you open are read and parsed locally by your browser and never leave your device. There is no upload step.

Where is my model stored?

Only in the memory of the browser tab. Nothing is written to a server and nothing is kept after you close or reload the page.

What happens to my file when I close the tab?

It is discarded along with the tab's memory. Reopening the page starts from scratch, so keep your original file — the viewer cannot recover it.

Can I use it with confidential or client models?

Local parsing means the geometry never crosses the network, which is why the tool suits work under NDA. Do confirm your own organisation's policy before using any third-party website with confidential assets.

Do you collect any data at all?

Anonymous usage analytics only: page views and a few interaction counts such as "a model was opened" or "a clip was shared". No file names, no geometry and no image data are collected.

Do the exported video and image files leave my device?

No. Recording and image composition happen in the browser and the result is saved straight to your device. Nothing is uploaded during export.

How does sharing to social platforms work?

The file is downloaded to your device first, then the platform's own upload page opens in a new tab. Your file is not sent anywhere by this site — you attach it yourself.

Are cookies used?

Only the cookies set by the analytics script described above. No advertising or tracking cookies are used, and no login state is stored.

Is the connection encrypted?

Yes, the site is served over HTTPS. Because your model is processed locally, the geometry is never transmitted in the first place.

Can I run it on an isolated network?

The page currently loads its 3D engine and fonts from public CDNs, so it needs outbound access on first load. A fully self-hosted deployment would require those dependencies to be served from your own infrastructure.

Textures & materials

Why does my OBJ appear grey or untextured?

The .mtl file or the texture images were not included. Add them and the model is reloaded with textures applied, keeping your camera position.

Do I have to select the model and its textures at the same time?

No. Files are remembered as you add them, so you can open the .obj first and drop in the .mtl and images afterwards.

Why did my textured model look brighter in another program?

Colour management and lighting differ between viewers. Textures here are interpreted in the correct colour space and the scene uses even, camera-relative lighting, which is close to a desktop inspection tool. If you want the most literal reproduction of the texture, set tone mapping to Linear.

Are normal, bump and specular maps used?

Maps declared in the .mtl are loaded and passed to the material, with colour maps tagged as sRGB and data maps left linear. The result depends on how the exporter wrote the .mtl.

Does it support PBR materials from GLB?

Yes. GLB files carry their own physically based materials — base colour, metallic, roughness, normal and emissive — and those are used as authored.

Can a PLY file have an external texture?

Yes. When a textured PLY declares a texture file in its header and carries UV coordinates, add that image alongside the model and it will be applied.

Why is my texture blurry at a shallow angle?

That is usually mipmap filtering. Anisotropic filtering is enabled at the maximum level your GPU reports, which keeps detail sharp on surfaces seen edge-on; beyond that the limit is the texture's own resolution.

Are double-sided faces handled?

Yes. Materials render both sides, so single-sided scans and open meshes do not show holes when you orbit behind them.

My model has vertex colours instead of a texture. Will they show?

Yes. Per-vertex colours in PLY and ASC files are read and displayed for both meshes and point clouds.

Can I change or override the material myself?

There is no material editor. You can switch between Shaded, Wireframe and Points views, and change tone mapping, but the underlying material comes from your file.

Gaussian splats

Can it open Gaussian splats?

Yes. 3D Gaussian splat PLY files, .splat and .spz all render as anisotropic splats with depth sorting.

What is SH degree and when can I change it?

Spherical harmonics store colour that varies with viewing angle. When a splat file contains higher-order coefficients you can switch the SH degree between 0 and 3 in the Appearance panel; degrees the file does not contain are greyed out.

Why is SH degree unavailable for my file?

Either the model is not a Gaussian splat, or the file stores only the base colour term. Files exported without higher-order coefficients are limited to degree 0.

What does a higher SH degree change visually?

Reflections and shading shift as you orbit, which looks more realistic on glossy and translucent surfaces. It also costs more memory and fill rate, so lower it if playback becomes sluggish.

Are splats depth sorted?

Yes. Sorting runs on a background thread so that large scenes stay interactive, and the order is refreshed as the camera moves.

Why does my very large splat file look thinned out?

Files beyond what the device can hold are sampled evenly so that the scene opens at all. The viewer tells you the ratio it used, for example one splat in three.

Which display modes work for splats?

Splats always render as splats, so Shaded and Wireframe do not apply and are disabled for these files.

Can I apply the cinematic effects to a splat?

Yes. The effects operate on the splat data directly, so a splat capture can spin, grow in or assemble like any other model.

Why do the colours differ from my splat training tool?

Mostly the tone mapping curve. Splat colour is decoded and then passed through the curve you select — choose Linear to reproduce the stored colour exactly, or ACES2 to match tools that default to that filmic curve.

Is .spz the compressed splat format?

Yes, .spz is a compressed Gaussian splat container. It is decompressed in the browser, which is why it takes a moment longer to open than an equivalent .splat file.

Viewing & controls

How do I rotate, pan and zoom on a computer?

Drag with the left mouse button to rotate, hold Ctrl (⌘ on Mac) and drag to pan, and scroll the wheel to zoom. The on-screen hint in the corner shows the same mapping.

Why is panning on Ctrl and left-drag instead of right-drag?

Right-dragging collides with the browser's own context menu and mouse gestures, which interrupted the drag. Moving pan to a modifier keeps right-click available to the browser.

How do the touch gestures work?

One finger rotates, two fingers move the model and a pinch zooms.

Can I rotate freely without hitting a pole?

Yes. Rotation is unconstrained, so the model never sticks when you pass over the top or bottom.

What are the Shaded, Wireframe and Points views for?

Shaded shows lit surfaces, Wireframe reveals the underlying edges and topology, and Points shows only the vertices. Views not applicable to a file are greyed out.

What does the grid do?

It draws a ground plane positioned at the lowest point of your model and scaled to its size, which helps judge proportion and orientation. It is off by default.

What is the gizmo?

A three-ring orientation control around the model. Dragging a ring rotates the model within that ring's plane, which is handy for setting an exact pose before exporting.

What is Focus mode?

It hides every panel and button so only the model and its effect remain. Press Esc, or the floating button, to bring the interface back.

Can I switch between a light and a dark background?

Yes, the theme button toggles a light or dark viewing background, and your choice is remembered when you open the next model.

Where do I see the vertex and face count?

The information panel in the lower-left corner of the viewer lists the file name, file size, vertex count and face count of the model currently open.

Appearance & colour

What is tone mapping?

It is the final transform that converts rendered brightness into displayable colour. It controls how highlights roll off and how saturated the result looks, and is the single biggest influence on the overall look.

Which tone mapping options are available?

Linear, Neutral, ACES and ACES2, all in the Appearance panel in the viewer's left rail.

Which one should I choose?

Linear reproduces captured texture most faithfully and is the default for scan inspection. Neutral compresses highlights while protecting hue and saturation. ACES and ACES2 give a filmic look that suits presentation renders.

What is the difference between ACES and ACES2?

They are two different approximations of the same idea. ACES uses a compact curve with more contrast, while ACES2 uses the fuller RRT and ODT fit that is standard in film pipelines and looks slightly softer in the highlights.

Why does my model look darker here than in a desktop tool?

Usually the tone mapping curve. The ACES curves deliberately roll bright values down, so a fully lit white ends up near ninety per cent rather than pure white. Switch to Linear for the most literal brightness.

Can I adjust brightness, exposure or contrast directly?

There is no manual exposure slider. Tone mapping is the intended control, and the scene lighting is calibrated so that a fully lit surface reaches its true colour.

How is the model lit?

With even, camera-relative lighting: a broad ambient fill, a key light and a headlight that follows the camera. This avoids one blown-out side and one crushed side, which matters when you are judging a scan.

Does the viewing theme affect exported files?

Yes. The background of a video or screenshot follows the theme you are viewing in, so switch to light mode before exporting if you want a white background.

Does tone mapping affect exports too?

Yes. Exported videos and images are recorded from the live view, so whatever curve is selected is baked into the file.

Are my appearance settings remembered?

Within the session, yes — they carry over when you open another model. They are not stored after the page is reloaded.

Effects & sharing

What visual effects are available?

Basic Spin turns the model through a full revolution, Organic Growth reveals it outward from its base, Particle Assemble converges it from scattered particles, and Grand Arrival dollies out through a galaxy backdrop.

How do I preview an effect before exporting?

Click the effect card. The animation plays in the viewer so you can judge it; the Share button on the card is what records and downloads it.

Can I export a video of my model?

Yes. The Share button on any effect card records that animation and downloads the clip, ending on a short branded outro.

What video format do I get?

MP4 where the browser supports MP4 recording, otherwise WebM. Both play on all major platforms; WebM may need converting before uploading to some social networks.

Which aspect ratios and resolutions can I choose?

16:9 or 9:16, at 720p, 1080p or 4K. Both are set in the help menu behind the question-mark button, and new clips default to 9:16 at 4K for social platforms.

How does 9:16 framing work?

The scene is rendered directly at the vertical format, cropping the sides rather than adding empty bands above and below the model. Compose with that in mind before recording.

Why did my export fall back to 1080p?

Some devices cannot encode a 4K stream. When 4K fails to start, the recording continues at 1080p and a message tells you it happened.

Why can't I interact while recording?

Input is deliberately locked for the duration of the take so that a stray click or scroll cannot disturb the shot. It unlocks automatically when the clip is ready.

Can I export a still image instead?

Yes. Share Photo produces a PNG of the current view, and offers both a single view and a three-view composition, following your current zoom and rotation.

How do I post the result to social media?

After the file downloads, a bar appears with shortcuts to Reddit, Facebook, Instagram and TikTok. Each opens that platform's own upload page, where you attach the file you just saved.

Performance & large files

How large a model can I open?

There is no fixed limit; the constraint is your device's memory. Large OBJ files and binary Gaussian splat PLY files are read and parsed in chunks, so scans of several hundred megabytes are workable.

Why does a big file take so long to open?

The whole file has to be read and converted into GPU-ready buffers, which is a large amount of arithmetic. A single progress percentage covers reading, parsing and preparing so you can see it advancing.

Does the progress bar go backwards or restart?

No. Large OBJ files genuinely need two passes over the data, but both are mapped onto one continuous percentage rather than shown as two separate loads.

Why was my large PLY rejected?

Chunked reading currently covers binary little-endian Gaussian splat PLY. A very large ASCII or mesh PLY cannot be streamed safely, so convert it to binary GLB or a binary Gaussian PLY first.

How can I make a heavy model perform better?

Decimate the mesh or downsample the point cloud in a tool such as MeshLab, reduce texture resolution, and export as binary GLB. For splats, a lower SH degree also helps considerably.

Why is the frame rate low while an effect is running?

Effects animate every vertex or splat each frame, so cost scales with model complexity. A simplified version of the model will animate far more smoothly.

Does the viewer use my GPU?

Yes, rendering is GPU-accelerated through WebGL. If your browser has fallen back to software rendering, performance drops sharply — enabling hardware acceleration in the browser settings usually fixes it.

Why is 4K export slower than 1080p?

A 4K frame contains four times the pixels of 1080p and is rendered at full resolution rather than scaled up, so both rendering and encoding cost roughly four times as much.

Are there extra limits on phones?

Yes, in practice. Mobile devices have less memory and stricter per-tab limits, so very large splat files are sampled more aggressively and 4K export may fall back to 1080p.

Does the tab keep using resources when idle?

Very little. Frames are drawn only when something changes — a camera move, an interaction or a running effect — so a static model costs almost nothing.

Troubleshooting

My model appears completely black. What went wrong?

That usually means textures had not finished decoding. The viewer now waits for them before revealing the model; if it still happens, check that every image referenced by the .mtl was included, and that no texture is in TGA format.

Nothing appears after I select a file. What should I check?

Confirm the extension is one of the supported formats, and watch the progress readout — a very large file can take minutes. If a message reports a parse failure, the file is likely truncated or uses a variant of the format that is not supported.

The model looks tiny, off-centre or invisible.

Stray geometry very far from the body can inflate the bounding box. Switch to Points view to spot outliers, then remove them in your modelling tool and reopen the file.

The page is blank or the model never renders.

This is almost always WebGL being unavailable. Update your browser, enable hardware acceleration, and check whether an extension or a corporate policy is blocking WebGL.

Textures load but appear washed out or oversaturated.

Change the tone mapping curve in the Appearance panel. Linear is the most faithful to the source texture; ACES and ACES2 apply a filmic look by design.

Video export produced nothing or failed to start.

Your browser may not support recording, or it may have refused the selected resolution. Try 1080p, and use a recent version of Chrome, Edge or Firefox.

The exported clip stutters.

The device could not sustain the chosen resolution. Export at 1080p, or simplify the model — capture is limited by how fast frames can be rendered and encoded.

Right-clicking opens the browser menu instead of panning.

That is intended. Pan with Ctrl (⌘ on Mac) and a left-drag; right-click belongs to the browser.

My OBJ opens but the .mtl seems to be ignored.

The name referenced by the model's mtllib line must match the file you provided, and the image names inside the .mtl must match the images you added. Renaming files after export is the most common cause.

I reloaded the page and my model was gone.

That is by design — nothing is stored, so a reload clears the session. Keep your original file and open it again; this is the same behaviour that guarantees your model is never retained anywhere.