Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

f3d-app/f3d

Media & Design

A fast, minimalist 3D viewer for many mesh, CAD and scientific formats, with CLI control and a C++/Python/Java/JS rendering library.

5,040
475
C++
BSD-3-Clause
6 years old

Overview

F3D is a desktop 3D viewer and the libf3d rendering library behind it. It targets 3D content across digital content and scientific datasets: glTF, USD, STL, STEP, PLY, OBJ, FBX, Alembic and more. It renders animations, can generate thumbnails, supports hotkeys and drag-and-drop, and can be launched from a file manager or the command line. Rendering options include physically based rendering and raytracing.

The project deliberately stays a viewer: its stated scope includes broad format support, command-line and configuration-file control, non-interactive use, and many rendering styles, but excludes a classic menu-and-button mouse UI, data processing features and export. libf3d exposes a C++17 API with C, Python, Java and JavaScript bindings for embedding mesh rendering in other tools.

Quick start

Install F3D from the download page, which lists release packages for supported platforms. After installation the f3d command should be available in a terminal.

Open a file by passing its path:

f3d /path/to/file.ext

To render the scene to an image instead of only viewing it interactively, add the output option:

f3d /path/to/file.ext --output=/path/to/img.png

No build or local setup is needed for this path; the installed binary and a supported model file are sufficient. For browser use, the project also hosts an online viewer, and the quickstart guide covers further command and configuration usage.

Use constraints

F3D does not aim to provide a conventional mouse-driven interface with menus and buttons, data processing tools, or export functionality; operations such as thumbnail generation and image output are configured through command-line options and configuration files. Supported format and feature coverage depends on the bundled dependencies (VTK, OCCT, Assimp, OpenUSD, OpenVDB, OSPRay and others), so a particular file or rendering feature may not behave identically across builds.

The code is distributed under BSD-3-Clause, and the third-party components are listed in the third-party licenses. Users who want to embed rendering should read the libf3d overview rather than treat the desktop application as the API.

HotRepo's take

F3D appears in HotRepo's C++ daily ranking on 2026-11-14 at position 3 with 5,040 stars and 475 forks, adding 6 stars that day. That is a single daily snapshot, so it supports only the observation that the project was near the top of the C++ chart that day, not a claim about sustained growth. The same repository has drawn several HN posts over time, including the v2.3.0 release and the 4.0.0 release that added FreeCAD .FCStd support on HN. One commenter in the 2024 v2.3.0 thread reported glb files appearing invisible in that build while the same file opened correctly in Blender (comment), a reminder that format rendering can vary by build and file; no follow-up resolution appears in the supplied discussion.

License

Released under the 3-Clause BSD License; bundled third-party sources use permissive licenses.

Written by AI from the project's README, updated . The project's own docs are the source of truth.

Hacker News

F3d v2.3.0 Released – Fast and minimalist 3D viewer
▲ 17 · 2 comments · January 23, 2024
F3D – Fast and minimalist 3D viewer
▲ 3 · 0 comments · July 2, 2024
We just added bounties on Windows and macOS issues
▲ 2 · 1 comment · June 30, 2025

You might also like

  1. Sandflow-ai/sand3dPython library for building parametric, articulated 3D models as short programs, designed for LLMs to write and humans to read.HTML131
  2. islandmed/SculptForgeOpen-source digital sculpting for Linux, macOS and Windows, with game-ready LODs, Unreal and Blender links, and built-in AI brush and 3D model generation.C++181
  3. lucas-martinic/polyfork-catalogIndex of 2,791 free low-poly GLB models and 26 themed kits for three.js, games and web projects.132