21 free and open-source 3D Models File Viewer for Linux, Windows, macOS and the Web

21 free and open-source 3D Models File Viewer for Linux, Windows, macOS and the Web

Are you tired of struggling with outdated or clunky 3D modeling software? Do you wish there was an easier way to visualize and interact with your designs without sacrificing performance or functionality? Look no further! In this post, we'll be counting down the top 5 best 3D model viewers that will revolutionize the way you work with 3D models.

Whether you're working on a personal project or collaborating with clients, these top-notch free and open-source 3D model viewers will take your design experience to the next level!

1. F3D

F3D (pronounced `/fɛd/`) is a fast and minimalist 3D viewer desktop application. It supports many file formats, from digital content to scientific datasets (including glTF, USD, STL, STEP, PLY, OBJ, FBX, Alembic), can show animations and support thumbnails and many rendering and texturing options including real time physically based rendering and raytracing.

It is fully controllable from the command line and support configuration files. It can provide thumbnails, support interactive hotkeys, drag&drop and integration into file managers.

F3D also contains the libf3d, a simple library to render meshes, with C++ and Python Bindings, as well as experimental Java and Javascript bindings.

GitHub - f3d-app/f3d: Fast and minimalist 3D viewer.
Fast and minimalist 3D viewer. Contribute to f3d-app/f3d development by creating an account on GitHub.

2. glTF Viewer

This is a free self-hosted app that enables you to preview glTF 2.0 models in WebGL using three.js and a drag-and-drop interface.

GitHub - donmccurdy/three-gltf-viewer: Drag-and-drop preview for glTF 2.0 models in WebGL using three.js.
Drag-and-drop preview for glTF 2.0 models in WebGL using three.js. - donmccurdy/three-gltf-viewer

3. Meov

Meov is a free Minimalistic Easy Object Viewer: fast, lightweight, powerful and easy-to-use 3D object viewer.

GitHub - seigtm/meov: Minimalistic Easy Object Viewer: lightweight, fast and easy-to-use 3D object viewer
Minimalistic Easy Object Viewer: lightweight, fast and easy-to-use 3D object viewer - seigtm/meov

4. Three Dview

This library or package is all about rendering your 3D models in way, So you can manage or get preview of your 3D models and play with them. The model loading speed in the browser depends on the user's internet speed.

GitHub - lastcode802/threedview: This library or package is all about rendering your 3D models in way, So you can manage or get preview of your 3D models and play with them. The model loading speed in the browser depends on the user’s internet speed.
This library or package is all about rendering your 3D models in way, So you can manage or get preview of your 3D models and play with them. The model loading speed in the browser depends on the us…

5. Online 3D Viewer

Online 3D Viewer is a free and open source web solution to visualize and explore 3D models in your browser.

This repository contains the source code of the website and the library behind it.

Features

  • Import: 3dm, 3ds, 3mf, amf, bim, brep, dae, fbx, fcstd, gltf, ifc, iges, step, stl, obj, off, ply, wrl.
  • Export: 3dm, bim, gltf, obj, off, stl, ply.
GitHub - kovacsv/Online3DViewer: A solution to visualize and explore 3D models in your browser.
A solution to visualize and explore 3D models in your browser. - kovacsv/Online3DViewer

6. Qt 3DViewer

Qt 3DViewer is a compact tool for viewing 3D models in a user-friendly way.


This project is a compact and user-friendly application designed to showcase
3D models in a visually appealing manner. With support for a wide range of
file formats including .obj, .stl, .ply, .off, and .om.

Powered by Python the PyQt framework, the app use OpenGL, in combination
with ModernGL to render the 3D models and scenes in an interactive experience.

GitHub - alonrubintec/3DViewer: Qt 3DViewer is a user-friendly 3D model viewer powered by Python, PyQt, OpenGL, and ModernGL, supporting multiple file formats developed by Alon Rubin.
Qt 3DViewer is a user-friendly 3D model viewer powered by Python, PyQt, OpenGL, and ModernGL, supporting multiple file formats developed by Alon Rubin. - alonrubintec/3DViewer

7. Exhibit

Exhibit is an open-source app based on the F3D library that supports many file formats, from digital content to scientific datasets including glTF, STL, STEP, PLY, OBJ, FBX, USD, Alembic and many more. You can drag and drop 3d models into the app and export an image of the rendered model.

Change many settings like tone mapping, ambient occlusion, anti aliasing, material roughness, metallic, color and opacity to achieve the perfect render. You can use an HDRI image or a custom color as a background.

Download from Flathub.

8. Mayo

Mayo is an open-source 3D CAD viewer and converter.

Key features

  • 3D clip planes with configurable capping
  • 3D exploding of the model tree allowing better exploration of complex designs
  • 3D measure tools for circles, angles, lengths, areas, bounding box, ...
  • 3D view cube providing intuitive camera manipulation
  • Quick access to CAD files recently open thanks to thumbnails
  • Toggle item visibility within the Model tree(use checkbox)
  • Customizable mesh precision for BREP shapes, affecting visualization quality and conversion into mesh formats
  • Convert files to multiple CAD formats from command-line interface💻
  • Convert 3D files Mayo can read/write 3D files from/to STEP, IGES, STL and many other CAD formats
  • Visualize 3D files Mayo 3D viewer supports clip planes, exploding of assemblies, measurement of shapes, show/hide parts, ...
  • Cross platform Mayo runs on Windows, Linux and macOS
  • Solid foundations Mayo is developed in modern C++. with Qt and OpenCascade
GitHub - fougue/mayo: 3D CAD viewer and converter based on Qt + OpenCascade
3D CAD viewer and converter based on Qt + OpenCascade - fougue/mayo

9. DRViewer

This is a free and open-source lightweight, user-friendly and interactive 3D visualization tool for viewing real-time 3D reconstruction and SLAM.

DRViewer means Dense Reconstruction Viewer, it's basically a lightweight 3D visualization tool based on modern graphic pipeline and C++11, designed for Simultaneous localization and mapping (SLAM in brief) and real-time MVS, capable of viewing structured 3D point cloudcamera trajectory and multiple input sources.

GitHub - FinleyPan/DRViewer: A lightweight, user-friendly and interactive 3D visualization tool for viewing real-time 3D reconstruction and SLAM
A lightweight, user-friendly and interactive 3D visualization tool for viewing real-time 3D reconstruction and SLAM - FinleyPan/DRViewer

10. 3D file viewer(Blend da vinci)

This app lets you import 3d models and then you can change things as you want and can be exported as well.

Supported Files

  • gLTF/GLB : gLTF/GLB is a neutral, open source format. The Khronos Group created this format for 3D web, AR, VR, Games and 3D advertising. Its the first really well-defined standard for 3D.
  • FBX : FBX is a proprietary 3D file format. Kardara originally developed this format. AutoDesk then purchased them in 2006 and continued supporting FBX. It is widely used in the film and video game industry.
  • OBJ : OBJ is a neutral 3D format when used as an ASCII variant. However, when used as a binary variant, it is proprietary. 3D printing, graphics, and 3D scanning all use this file format thanks in part to its ability to store geometry as well as color and texture information.
  • STL : This 3D file format is most popular for 3D printing. It is a neutral 3D file format. This file format only stores geometry information.
GitHub - GreaZeY/3D-viewer: A 3d Viewer, import 3d files, configure and export
A 3d Viewer, import 3d files, configure and export - GreaZeY/3D-viewer

11. iCn3D Structure Viewer

"I see in 3D" (iCn3D) Structure Viewer is not only a web-based 3D viewer, but also a structure analysis tool interactively or in the batch mode using NodeJS scripts based on the npm package icn3d. iCn3D synchronizes the display of 3D structure, 2D interaction, and 1D sequences and annotations.

Users' custom display can be saved in a short URL or a PNG image.

GitHub - ncbi/icn3d: web-based protein structure viewer and analysis tool interactively or in batch mode
web-based protein structure viewer and analysis tool interactively or in batch mode - ncbi/icn3d

12. Opengl Model Viewer

This is a free and open-source simple 3D model loader, written in C and powered by OpenGL and assimp.

This project was made firstly to challenge myself on creating an application that used external assets from scratch, and secondly testing my skills on the C language, more-so on the memory management side of things as well as pointer arithmetic.

This application was intended to be a sort of 'halo project', where I sort out the functionality for loading models, then implement them elsewhere in other games/projects of mine.

GitHub - logiiq/opengl-model-viewer: A simple 3D model loader, written in C and powered by OpenGL and assimp.
A simple 3D model loader, written in C and powered by OpenGL and assimp. - logiiq/opengl-model-viewer

13. OpenGLViewer

This project is a simple OpenGL 3D model renderer. It allows .obj and .mtl files to be opened and viewed. The core libraries used are GLEW, GLFW, and GLM.

GitHub - MCKoleman/OpenGLViewer: Simple OpenGL program for viewing 3D models
Simple OpenGL program for viewing 3D models. Contribute to MCKoleman/OpenGLViewer development by creating an account on GitHub.

14. 3d-viewer

A simple application to preview 3D models (currently .OBJ supported), where you can move the model around, flip normals, etc. It's implemented in Golang, and uses SDL2 to show the window, handle user's input, and write pixels into the screen buffer.

I made it from scratch to learn 3D rendering concepts, mathematics and algorithms involved to display a 3D textured mesh into the screen.

Features

  • Fast 3D .obj file loading.
  • Fast and smooth rendering.
  • Simple camera system to move and rotate the object around.
  • Buttons to change the resolution (to gain performance for more complex objects)
  • Support for .obj 3D files and .mtl material files (with PNG and JPEG texture formats).
GitHub - keelus/3d-viewer: A simple application to visualize 3D .obj files.
A simple application to visualize 3D .obj files. Contribute to keelus/3d-viewer development by creating an account on GitHub.

15. Open3mod

Free and powerful 3D Viewer for more than 40 file formats, including OBJ, 3DS, BLEND, STL, FBX, DXF, LWO, LWS, MD5, MD3, MD2, NDO, X, IFC and Collada.

Tabbed User Experience so multiple scenes can be open at the same time. 3D views are split in up to four viewports.

Different camera modes (orbit, FPS or axis-aligned) are available for each viewport. New files are loaded in the background.

Open 3D Model Viewer

16. Viewstl

Viewstl Javascript plugin - STL/OBJ 3D files Viewer by viewstl.com

GitHub - omrips/viewstl: Viewstl Javascript plugin - STL/OBJ 3D files Viewer by viewstl.com
Viewstl Javascript plugin - STL/OBJ 3D files Viewer by viewstl.com - omrips/viewstl

17. Open3D

Open3D is an open-source library that supports rapid development of software that deals with 3D data. The Open3D frontend exposes a set of carefully selected data structures and algorithms in both C++ and Python.

The backend is highly optimized and is set up for parallelization. Open3D was developed from a clean slate with a small and carefully considered set of dependencies.

Features

  • 3D data structures
  • 3D data processing algorithms
  • Scene reconstruction
  • Surface alignment
  • 3D visualization with Physically based rendering (PBR)
  • 3D machine learning support with PyTorch and TensorFlow
  • GPU acceleration for core 3D operations
  • Available in C++ and Python with a 3D viewer app.

Supported Compilers

  • GCC 5.X and later on Linux
  • XCode 10+ and later on OS X 10.14+
  • Visual Studio 2019 and later on Windows

18. MeshLab

MeshLab is an open source system for processing and editing 3D triangular meshes.
It provides a set of tools for editing, cleaning, healing, inspecting, rendering, texturing and converting meshes. It offers features for processing raw data produced by 3D digitization tools/devices and for preparing models for 3D printing.

The app works for Windows, macOS, and Linux (AppImage, and Flathub).

MeshLab

19. SMPL Sequences and Scene Visualization Tool

This is a powerful open-source GUI tool designed to quickly and accurately visualize and compare SMPL sequences in large scenes in real-time. Based on Open3D, this tool can be easily run across platforms and on CPU-only computers.

However, if you require more advanced rendering capabilities, we recommend using Blender, Unity, or similar software for optimal results.

Features

  • Fast and accurate visualization of SMPL sequences in real-time using only SMPL parameters
  • Comparison of SMPL results across different sequences and scenes
  • Visualizing complex scenes and large datasets
  • Open-source and customizable
  • Save/load the camera path
  • CPU-only compatible
  • Cross-platform compatible
GitHub - climbingdaily/SMPL-Scene-Viewer: A simple and fast GUI tool to visualize and compare the SMPL sequences and scenes in real-time.
A simple and fast GUI tool to visualize and compare the SMPL sequences and scenes in real-time. - climbingdaily/SMPL-Scene-Viewer

20. QGLViewer

This is free lightweight app A Qt widget that allows to navigate a 3D OpenGL scene the way I want it to.

GitHub - michael-brade/QGLViewer: Qt OpenGL Widget to view, zoom, pan an OpenGL scene
Qt OpenGL Widget to view, zoom, pan an OpenGL scene - michael-brade/QGLViewer

21. Light 3D Viewer

This is a free Light 3D Viewer (HTML component) that uses html component to view your 3D files of types: obj, 3ds, stl, ply, gltf, 3dm, fbx.

GitHub - ajhamdi/html_3dviewer: an html component to view your 3D files on the browser.
an html component to view your 3D files on the browser. - ajhamdi/html_3dviewer









Open-source Apps

9,500+

Medical Apps

500+

Lists

450+

Dev. Resources

900+