⏱️ Reading time: 11 min
Cutting an expensive piece of wood wrong hurts both your wallet and your pride. BenchUp solves that problem with free, open-source 3D furniture design: model the entire piece, with exact measurements, before the saw ever touches the wood.
📑 En este artículo
The app runs directly in the browser with WebGPU or WebGL2, or as a native program on Windows, macOS, and Linux. It doesn’t require an account or subscription. It’s written in Rust and released under the MIT license, so anyone can review or modify the code.
TL;DR
- BenchUp is a free, open-source 3D app under the MIT license, written in Rust.
- It runs on Windows, macOS, Linux, or directly in the browser with WebGPU or WebGL2, with no account required.
- Push/Pull turns a flat face into a solid with real volume, just like in SketchUp.
- The .ketchup format saves the project on your own computer; you can also export to OBJ or import .skp geometry.
- Exact measurements and axis snapping let you plan a shelf or piece of furniture before cutting the wood.
What Is BenchUp?
BenchUp is a free, open-source application for 3D furniture design, built for woodworkers, furniture designers, and DIY enthusiasts. It lets you draw shapes, give them volume with the Push/Pull tool, and check exact measurements before building, without needing an account or payment.
The project presents itself as a lightweight alternative to other paid 3D woodworking software, and stands out for saving everything on the user’s own device: there’s no cloud or mandatory syncing. The code is published on GitHub under the MIT license, meaning anyone can read it, modify it, or compile it themselves.
Why Modeling Before Cutting Matters
A two-dimensional blueprint hides errors that only show up when you cut: a drawer that doesn’t fit, a leg shorter than the others, a miscalculated angle. Modeling in 3D before building exposes those errors on screen, not in wood that’s already been cut.
For a hobbyist, that means fewer wasted boards. For a professional shop, it means fewer hours spent redoing pieces, and more confidence when showing a client how the finished piece will look before starting construction. That intermediate step, cheap in screen time, is usually the most expensive one to skip in real wood.
How 3D Furniture Design Works in BenchUp
Drawing and Adding Volume with Push/Pull
The workflow starts with simple shapes: rectangles, lines, circles, or a freehand outline. Every closed shape becomes a face, and the Push/Pull tool stretches that face to give it real thickness. That’s how a flat board becomes a plank with the exact thickness you’ll buy at the lumberyard.
Exact Measurements and Snapping
BenchUp lets you type exact lengths instead of estimating with the mouse, and the cursor snaps to axes and existing geometry to align pieces without leaving gaps. The tape measure and dimension tools display measurements directly on the model, so you can check a shelf’s width without leaving the editor.
Organizing with Groups, Components, and Tags
A real piece of furniture has dozens of parts: legs, boards, hinges, screws. BenchUp uses groups to bundle related geometry, reusable components to repeat a piece (like four identical legs that all get edited at once), and tags to filter which parts of the model you see at any given moment. Orbiting around the assembly helps check proportions before taking the design to the shop.
Saving, Exporting, and Importing
Your work autosaves in that device’s browser, but it’s a good idea to download a copy with File → Save in .ketchup format, the project’s own file format. From the same menu, you can export to OBJ to bring the geometry into another 3D program, or import .skp geometry from SketchUp to reuse an existing model.
flowchart LR
A["Draw rectangle or line"] --> B["Push/Pull: add volume"]
B --> C["Move, scale, copy"]
C --> D["Group into components and tags"]
D --> E[("Export OBJ or save .ketchup")]
Practical Examples: A Shelf, a Table, and a Cabinet
The project’s own page mentions shelves, tables, cabinets, and workbenches as the typical use cases. These three examples show how to chain the basic tools together in a real project.
- Wall shelf: draw a rectangle for the back panel, use Push/Pull to give it thickness, copy and move the shape to generate the shelves, and add dimensions to confirm the total width fits the available wall space.
- Dining table: draw the tabletop, apply Push/Pull for the thickness, model a single leg, turn it into a component, and copy it three times: if you later tweak the leg design, all four change together.
- Kitchen cabinet: group the body, doors, and internal shelves with separate tags, so you can hide the doors from the tags panel to review the interior layout without deleting anything from the model.
Getting Started
For the web version you need a desktop browser with hardware acceleration and WebGPU or WebGL2 support (recent Chrome, Edge, or Firefox); for the native version you don’t need to install any additional dependencies, the installers are self-contained.
The fastest way to try it is to open the project’s web editor and follow the three steps the official guide itself suggests: draw a rectangle to create the first face, choose Push/Pull and drag to give it depth, and use Orbit (dragging the mouse) to look at the result from a different angle.
If you prefer the native app, on Linux you download the AppImage from the downloads page, give it execute permission, and run it:
chmod +x BenchUp*.AppImage
./BenchUp*.AppImage
On Windows, just run the downloaded .exe installer and follow the wizard; on macOS, open the downloaded .pkg and, if the system blocks the app for coming from the internet, authorize it from System Preferences > Privacy & Security.
To confirm your browser supports WebGPU, open chrome://gpu in Chrome or Edge and look for the “WebGPU” line in the feature list: if it says “Hardware accelerated,” BenchUp’s web version will use the GPU instead of falling back to the slower WebGL2 mode.
💡 Tip: download the project’s .ketchup file as soon as you finish a long modeling session. The browser’s autosave doesn’t replace a local copy, and clearing browsing data can wipe it out.
Real-World Use Cases
A small woodworking shop can use this furniture modeling tool to send a client a 3D preview before quoting the wood, instead of a hand sketch that leaves doubts about proportions.
A DIY hobbyist can check whether a desk fits a specific corner of their house by loading the room’s actual measurements into the model before buying boards.
A makerspace or educational workshop can use it as a first introduction to Push/Pull and 3D modeling before moving on to more parametric woodworking CAD, since it requires no installation to try in a classroom.
flowchart TD
A["Model in BenchUp (.ketchup)"] --> B{"What do you need to do"}
B -->|"Keep editing"| C["Save locally"]
B -->|"Use in other 3D software"| D["Export to OBJ"]
B -->|"Bring in existing geometry"| E["Import SketchUp geometry (.skp)"]
Common Mistakes and Best Practices
- Not downloading the project: the autosave lives in that device’s browser. If you clear browsing data, you lose your work; use File → Save to download the .ketchup file.
- Confusing exporting with saving: exporting to OBJ lets you bring the geometry into another 3D program, but it doesn’t save materials or let you keep editing that file in BenchUp.
- Expecting textures and scenes when importing from SketchUp: importing .skp files brings in the geometry, but not all the textures, scenes, or features of the original model.
- Modeling without snapping enabled: without axis and geometry snapping, two pieces that should meet exactly end up with gaps invisible to the naked eye until you get to the shop.
Comparison with Alternatives
Before choosing, it’s worth comparing this furniture 3D editor with other tools a woodworker might consider depending on the type of project.
| Tool | When to Use It | Advantage | Limitation |
|---|---|---|---|
| BenchUp | Furniture and woodworking projects without paying anything | Free, open source in Rust, runs in the browser | No scripting or photorealistic renders |
| SketchUp Free | If you already know its workflow or need to reuse .skp models | Large ecosystem of plugins and 3D Warehouse models | Free version only in browser, with usage limits |
| FreeCAD | Parts with parametric measurements that will change several times | Real parametric modeling, also open source | Steeper learning curve for non-technical users |
| Fusion 360 (personal plan) | Combining woodworking with metal parts or 3D printing | Integrated CAM for manufacturing | Personal license with commercial use restrictions |
For someone who just wants to plan a piece of furniture before cutting wood, BenchUp covers the case with less friction than any of the other three: no account required, nothing to install, and the file stays on your own disk.
Going Deeper
Face-Based Modeling: The Logic Behind Push/Pull
Under the hood, BenchUp follows a face and volume modeling approach similar to the one SketchUp popularized: every closed surface is a face, and Push/Pull extrudes that face to generate a solid. It’s a friendly simplification of the B-rep (boundary representation) modeling used by professional CAD tools, where an object is defined by its faces, edges, and vertices instead of parametric formulas.
Why Rust and Why WebGPU
Choosing Rust as the language isn’t cosmetic. Rust guarantees memory safety without a garbage collector, which matters in an app that moves thousands of vertices in real time while you orbit the camera. For rendering, BenchUp uses WebGPU when the browser supports it and falls back to WebGL2 otherwise, letting it run on both an old laptop and recent hardware without maintaining two separate code versions.
What Each File Format Means
The three formats the app handles serve different roles. The .ketchup format is the native one, meant for continued editing. The .skp import brings in SketchUp geometry with some loss of materials and scenes. OBJ export is a universal exchange format, but it only carries geometry, without materials or component hierarchy. Choosing the right format depends on whether you’ll keep editing in BenchUp or bring the model into another program.
What BenchUp Doesn’t Do (Honest Limits)
There’s no photorealistic rendering, no physics engine, and no automatic cut list generated from the model. There’s also no scripting or public API for automating repetitive tasks. For anyone who needs those features, it’s best to think of BenchUp as the planning step that comes before, not a full replacement for manufacturing software.
Your next step: open BenchUp’s web editor, draw a 40 by 30 centimeter rectangle, and use Push/Pull to turn it into a 2 centimeter thick board, the first step of any real shelf.
Frequently Asked Questions
Is BenchUp really free?
Yes. BenchUp is open source under the MIT license and doesn’t require an account or subscription to model, save, or export projects.
What operating systems does BenchUp support?
It runs as a native app on Windows x64, macOS with Apple Silicon, and Linux x64 (AppImage), plus a web version for any desktop browser with WebGPU or WebGL2.
Can I import a SketchUp model into BenchUp?
Yes, from File → Import you can load .skp geometry, although textures, scenes, and some features of the original SketchUp model don’t carry over.
Is BenchUp good for anything besides woodworking?
It’s designed for furniture and woodworking projects, but any object that can be modeled with faces and Push/Pull, like shelving, boxes, or simple structures, works just as well.
Where is my BenchUp project saved?
It autosaves in that device’s browser. To keep it outside that browser, you need to use File → Save and download the .ketchup file.
Does BenchUp replace paid 3D woodworking software?
For planning measurements and proportions, yes. For manufacturing with automatic cut lists or photorealistic renders, it’s still worth combining it with another tool.
References
- BenchUp: the project’s official page, with download links for Windows, macOS, and Linux.
- Open Source Initiative: full text of the MIT license under which BenchUp is released.
- Wikipedia: what WebGPU is and how it succeeds WebGL in browsers.
- Wikipedia: the history and features of the Rust language, in which BenchUp is written.
- Wikipedia: the history of SketchUp, the 3D modeling tool with which BenchUp is partially compatible.
📱 Enjoy this content? Follow @programacion on Telegram for daily tech content in Spanish: quick summaries, fresh content every day.
Featured image: Foto de Parichehr Rezaei en Unsplash
Did it work for you? Got a different error? Say so below: questions get answered and help the next reader.
Leave a comment
0 Comments