What is a .3DS file?
File extension “.3ds” usually stands for the 3ds Mesh or Scene file type that describes binary files for Autodesk 3D Studio that was originally developed for Autodesk 3D Studio on DOS by Autodesk and the Yost Group to be later introduced in import/export routines of 3DS MAX. Model 3ds file is able to store polygon meshes, hierarchy, materials, textures filenames, objects and their animations, cameras and lights, scene configuration information. Files of such type are widely used in old 90-s and 00-s visual modeling data storage archives.
File extension is used by Nintendo game system to describe 3DS game cart images, known as "CTR Cart Images, CCI Files (NCSD Dumps)." Those files do not stand for some 3D model file but are used, for instance, to develop homebrew, in emulating consoles software.
Those two different formats can easily be distinguished by the file header and file sizes. If 3DS model always starts with 4D 4D sequence at the 0 file offset, then 3DS Game Cart file includes string of "NCSD" characters starting from file offset 0x100 (4E 43 53 44). While models are often kilobytes to tens of megabytes, Nintendo carts contain hundreds of megabytes or even several gigabytes. Using any program to import/export those files with other than appropriate file type causes failure to proceed operation.
How to open a .3DS file
Open a .3DS file on Windows
- 1 Go to the folder with your file in File Explorer. Usually, downloaded files end up in Downloads.
- 2 Double-click your .3DS file if you have an app for .3ds files on your computer. In case it does not open, move on to step three.
- 3 Right-click your .3DS file -> select .
- 4 Choose Autodesk 3ds Max in the list (Windows 11: choose Always). For Windows 10 -> put a check on "Always use this app to open .3ds files" and click OK.
Still not opening? See common problems and fixes, or view it in your browser.
Programs for Windows
- Autodesk 3ds Max paid
- Blender open-source
- MeshLab open-source
- Assimp / Open Asset Import Library open-source
- Rhinoceros 3D paid
- Cinema 4D paid
- Wings 3D open-source
- FreeCAD open-source
Open a .3DS file on macOS
- 1 In the Finder app, locate your .3DS file.
- 2 Just double-click your .3DS file in order to automatically launch the program which is connected with it.
- 3 Need another app on your Mac? Control-click the file (or right-click with a mouse). In the pop-up menu select .
- 4 If it isn't in the list, choose and find the application manually.
Still not opening? See common problems and fixes, or view it in your browser.
Programs for macOS
- Blender open-source
- MeshLab open-source
- Assimp / Open Asset Import Library open-source
- Rhinoceros 3D paid
- Cinema 4D paid
- Wings 3D open-source
- FreeCAD open-source
- CAD Assistant free
Open a .3DS file on Linux
- 1 Launch your file manager. Depending on the desktop it may be named Files (GNOME), Dolphin (KDE Plasma), Nemo (Cinnamon) or Thunar (Xfce).
- 2 Double-click the file.
- 3 Or choose another program by right-clicking the file -> .
- 4 Install Blender (if it is not installed on your computer) from the software centre, repository or Flathub.
Still not opening? See common problems and fixes, or view it in your browser.
Programs for Linux
- Blender open-source
- MeshLab open-source
- Assimp / Open Asset Import Library open-source
- Wings 3D open-source
- FreeCAD open-source
- CAD Assistant free
- Azahar open-source
- Lime3DS open-source
Open a .3DS file on Android
- 1 Launch Files or another file management app.
- 2 In Downloads, find the .3DS file and open it by tapping.
- 3 A list of apps capable of opening the file will be shown. Tap CAD Assistant and press Always to permanently connect the file type with this app.
- 4 No apps able to open this file? Download CAD Assistant from the Google Play Store.
Still not opening? See common problems and fixes, or view it in your browser.
Programs for Android
- CAD Assistant free
- Azahar open-source
- Lime3DS open-source
- Mikage paid
Open a .3DS file on iPhone / iPad
- 1 Use the Files app and go to On My iPhone, iCloud Drive or Downloads.
- 2 Tap the .3DS file you want to open.
- 3 If the file can be opened by a built-in iOS app (supported format), it opens automatically.
- 4 Touch and hold the file to get the context menu -> choose -> select CAD Assistant from the list of apps.
- 5 If there is no such option, download the app first from the App Store and then tap the document again.
Still not opening? See common problems and fixes, or view it in your browser.
Programs for iPhone / iPad
- CAD Assistant free
Open a .3DS file online
- 1 Move to the online viewer at the top of this page.
- 2 Drag the file there or select it, and its contents will appear in your browser tab. The file is not uploaded.
Still not opening? See common problems and fixes, or view it in your browser.
Programs for Online
- Online 3D Viewer free
More details about opening .3DS files
On a Windows system, 3Ds Max is the most popular Autodesk's paid application for 3D Studio. The 3DS scene created by Autodesk is opened in 3Ds Max, exported through the menu . Blender opens on different operating systems (for example on Linux or macOS, as well as Windows), 3DS add-on allows to open .3ds files from Autodesk or any other developer and then export it in a variety of formats: GLB, FBX, OBJ, DAE. For inspecting/processing or format conversion but not animation of meshes the following free softwares can be used: MeshLab (free) for inspection/cleaning/conversion; Wings 3D is free and good for simple modeling and basic editing. In addition Rhinoceros, Cinema 4D, FreeCAD, CAD Assistant can work with various 3ds scene. Assimp libraries also allow to process the data (materials and objects are processed not very well though, especially animations). After loading 3DS, make sure that everything is loaded correctly. On Android and iPhone systems CAD Assistant supports viewing various 3d models, online Online 3D Viewer is good as online solution to make a quick overview without installation of some additional software.
Not each .3ds file is a 3D model - Nintendo 3DS uses the 3DS extension for 3D-game-cards and compatible with emulator software (Azahar, for example, or Lime3DS or Mikage) when the image is decrypted, proper decryption keys are available (as well as the right legal access to particular content on emulator system - local laws may prohibit the execution of specific titles).
In case of failure while file opening with no additional information - check 3DS file header (with hex editor program or the command line Unix command file ) for magic bytes "4D 4D"(at the start of the file) or NCSD signature(at byte 0x100).
Technical details
Autodesk 3DS file is a little-endian binary chunk file format with the header 0x4D4D located at 0 offset followed by chunk-length integer 32-bits wide. Every chunk consists of two-byte identifier followed by 4-bytes wide length field, therefore parsers may ignore any unknown chunks of the binary file structure. Some common chunks are: 0x3D3D contains editor-specific data while 0xB000 is a keyframes chunk. Meshes have data represented in the form of triangle face, vertex list, index, smoothing group number(s), UV-coordinates if any exist, material and some objects name if it is set. Some ancient Autodesk 3DS models may have data encoded via null-terminated strings using system local code page encoding in addition to ASCII rather than Unicode; thus names of non-ASCII textures and objects will become unreadable on transfer from one localization to another because of lack of support. There are also known limitations on size like 16-bits integer counter which effectively limit mesh object to maximum 65,535 faces or vertices thus big assets are represented by several objects.
Normally, file contents in Autodesk 3DS models do not have any in-built compression nor encryption. In the event of .3ds files placed in ZIP, RAR, or 7-zip file archives compression algorithm affects external archives not inner model content in AutoDesk 3DS file. Normally external texture names (which can be very short because of DOS legacy of Autodesk modeling suite) are used, so model transfer to other folder where original images aren't accessible will leave texture blank. Application/x-3ds MIME type is unofficially set to most Autodesk 3DS models.
Also the .3ds extension has been used with another meaning: to store Nintendo 3DS cartridge images. Those images do not actually belong to the Autodesk mesh model file structure, rather NCSD container with executable partitions inside: it has NCSD identifier at offset 0x100 in form 4E 43 53 44 along with partition table, crypto header and encrypted NCCH partitions (RomFS, ExeFS). Unofficial MIME type used is usually application/x-nintendo-3ds-rom.
How to convert .3DS files
OBJ is the general target format for converting Autodesk .3ds models due to its simplicity and ubiquity especially in relation to static meshes. With Assimp, a batch conversion process would look as follows: assimp export input.3ds output.obj. This will give the following: just geometry, UVs, and references to some materials; animations, cameras, lights, most flags in the materials will have to be fixed manually. glTF or GLB formats should be preferred for a new web / game target platform. Blender allows headless model conversion optionally preceded by cleaning, fixing materials, etc., e. g.: blender --background --python-expr "import bpy; bpy.ops.import_scene.autodesk_3ds(filepath='input.3ds'); bpy.ops.export_scene.gltf(filepath='output.glb', export_format='GLB')" This conversion preserves all the scene information pretty well but the legacy .3DS materials would be converted only to an approximation in form of PBR materials. STL is used for exporting meshes after mesh repair with the purpose of further 3D printing; materials, textures, units metadata, cameras, lights, and all sorts of animation will be discarded. MeshLab tool meshlabserver -i input.3ds -o output.stl can perform geometry-only exports. Regarding Nintendo .3ds images, avoid using any model or texture converters there; only decryption, image partition extraction, or CIA builds can be legally made there.
| Convert to | Tool | Command / note |
|---|---|---|
| OBJ | Assimp | assimp export input.3ds output.obj Good interchange path for static meshes; animation, material flags, smoothing details, and texture references may need manual repair. |
| FBX | Autodesk 3ds Max | Open or import the .3ds file, then use File > Export > FBX; useful for Autodesk, Unity, and Unreal workflows. |
| glTF/GLB | Blender | blender --background --python-expr "import bpy; bpy.ops.import_scene.autodesk_3ds(filepath='input.3ds'); bpy.ops.export_scene.gltf(filepath='output.glb', export_format='GLB')" Modern web/engine format; legacy 3DS materials are approximated as PBR materials. |
| STL | MeshLab | meshlabserver -i input.3ds -o output.stl Useful for 3D printing; STL keeps only geometry and drops colors, materials, cameras, lights, hierarchy, and animation. |
| DAE/COLLADA | Assimp | assimp export input.3ds output.dae Preserves scene structure better than STL/OBJ, but 3DS material features may not map exactly. |
| CIA | GodMode9 | For Nintendo 3DS dumps, GodMode9 can build installable CIA files from legally dumped cartridges on a modded 3DS; encrypted dumps must be decrypted first. |
| Extracted Nintendo 3DS partitions/files | ctrtool | ctrtool --contents=contents input.3ds Used for inspection and preservation workflows; commercial game content is copyrighted and encrypted unless dumped with proper keys. |
Common problems and fixes
An error about "unsupported file type" or "invalid header" in your 3D program probably means that you have chosen the wrong file format for opening the .3ds file. The header of Autodesk 3D Studio meshes is "4D 4D," while Nintendo 3DS cartridge images use NCSD and its magic string looks like 4E 43 53 44 in the position 0x100. Confirm this value with your hex viewer before importing into Blender, 3ds Max, MeshLab, or Assimp. If your .3ds file is an example of ROM of the game card, do not use model converters. Instead, try to open it with Azahar, Lime3DS, Mikage, GodMode9, or ctrtool. This error "ROM is encrypted," "invalid NCSD," or "keys are required" happens if the cartridge image is still encrypted. Find a decrypted copy of the game on the dump of your console or try the key files that work with the legal configuration.
The problem where geometry has been imported but surfaces appear gray can indicate that the importer cannot find the bitmap files. Perhaps the texture doesn't exist anymore, has got some new name or location or is referenced according to the 8.3 dos name scheme. Importers can refuse non-ASCII names since the original .3ds file could use code-page encoding for its files instead of Unicode. In this case, you need to rename assets according to the rules of ASCII and re-export them. In case of getting the message of "unexpected end of file" or "cannot read chunk," this could indicate that the length is damaged somehow in the current file. Try another importer, use your backed file or export geometry again directly from the original 3ds studio/DCC software. The big amount of mesh polygons could get lost due to their exceeding of the 16-bit vertex or face limits near 65,535 entries for each individual object in the 3ds file. Thus, split the source into objects before saving into 3ds.
Security considerations
However, Autodesk .3ds files do not represent macro files that have any feature of executable content comparable with an Office file. Malfunctions of parsing may become a real risk as broken binary sections of files may lead to system failures and even exploitation of the code used for importing 3D objects in Blender, 3ds Max, MeshLab, Assimp, etc.. Be careful opening the untrusted .3ds file in current builds only. Try to use some sandbox or virtual machines for such operations.
Object name, material name, camera name, texture file names, directory parts, and specific name conventions for each object type are some aspects that can be visible for users via one .3DS scene. Links to external bitmaps that have absolute paths or even any customer name pose a privacy threat. Thus, it is highly recommended to strip off path data and pack only images needed. As for some Nintendo .3DS files, the images and other executable game parts and copyright data can be found. Consequently, unknown ROMs should be considered as untrusted ones.
History and versions
3D Studio for DOS was introduced in 1990, built in partnership with the Yost Group, making the .3ds file format its main interchangeable file format for scenes. This format gained popularity and continued into the beginnings and the middle parts of the 1990's in releases of the 3D Studio product R1 to R4 before continuing on the legacy path in 3D Studio MAX and 3Ds Max. The structured way of handling its information by chunks made possible to develop parsers by third party software tools, thus leading it to wide use into early web-based model banks and game development process lines. Afterwards, Autodesk moved 3ds Max natively generated content to the .max file format and shifted file exchange formats towards FBX.
The specification of the 3DS model format never was standardized through any ISO body or even the Khronos organization nor it was advertised as a current open specification by Autodesk. On the other hand, there are lots of reverse engineering based definitions about it. As for year 2011, in conjunction to the release of the Nintendo 3DS console, the .3ds extension is used in preserving and emulating purposes for dumps from carts following the NCSD or CCI file containers format used from the CTR era containing encrypted and signed data and not Autodesk 3D Studio anymore.
Related formats
.MAX is the native file format of 3ds Max scene, containing much higher amount of program-specific data then .3ds, along with additional scene information of the 3ds Max. OBJ is a better choice for static polygonal models, but not supporting the native animations, lights, and camera, nor the rich semantics of the 3DS file formats. FBX is an Autodesk-specific interchange file format, which has higher content in comparison to 3Ds scene files, even though it has additional complexity to its use. The XML DAE, which is COLLADA, can represent scenes and animation, but has larger file format and is less spread among the latest pipelines in comparison with gltf. GLTF and GLB are the latest standards from the Khronos Group for using with Real-Time 3D and Web, which have higher quality of representation of materials then older format like .3ds. STL has geometry information only, in contrast with 3MF, which has better representation for printing for the cases when units or materials need to be specified.
No comments yet. Be the first to share your experience with this file type.