Read Write Notes


Internal Houdini ASCII geometry format.


Internal Houdini binary geometry format.



Prisms ASCII format (polygons only).

This format only supports polygonal geometry types. It is included in the Geometry Editor to maintain compatibility with other, older, systems.


In a .poly file, the first point referred to by the polygons is point number 0.


Internal PRISMS binary format (polygons only).


Internal PRISMS move/draw format (polygons only).


Internal RenderMan geometry.



Uses gdxf - polygons only, no attributes.

.dxf was invented by Autodesk for use with AutoCAD. It is a common geometry exchange format. .dxf format only supports polygonal geometry types.

.dxf layers are mapped to groups when read into the SOP Editor. Texture and color information is lost if you save to a .dxf file.



Uses gwavefront - polygons only. Only texture and pointnormal attributes (groups are kept on read).

.obj was invented by Wavefront. It is a very common geometry exchange format. .obj supports polygons, textures, normals, and groups.

.pc, .pmap External

Uses i3dconvert.

Point cloud tile-based format, as written by pcwrite.



Uses gsdl command.

.sdl was invented by Alias/Wavefront. It was traditionally used as input to a renderer.

Houdini can read .sdl files but cannot write them. Houdini only imports spline surface geometry (and instances of spline surfaces), and the name of each patch and shader is imported. It does not import colors and texture coordinates.

.eps, .ai


Uses geps command.

Houdini reads .eps files from Illustrator 5.5 as planar geometry. It does not import fills, patterns, or colors.



Uses gmed command.

Houdini will read Meta Editor metaball files, although eccentric information is lost upon loading.



Uses glightwave command.

.lw was invented by NewTek for use with LightWave. Houdini supports objects from version 3.5 and earlier. Houdini only handles the following LightWave features:

  • points

  • polygons

  • surface names (as primitive groups)

  • surface color as primitive colors)

  • surface transparency as primitive alpha)

  • surface smoothing (as internal cusp operations)

Houdini will ignore all other features. It cannot load files saved with layer information. The file to be loaded must contain points. However, it need not contain any polygons.


By default, LightWave objects are rendered as faceted (no smoothing) whereas in Houdini you must explicitly cusp polygons in order to achieve this. As a result, if you load an object that has no smoothing values set (all faceted) you will end up with all points in the resulting object being “unique-ed” - giving you a much larger data set. To get around this, manually convert the file using the glightwave utility with the -s option.



Uses gply command.

.ply was designed at Stanford University and UNC Chapel Hill, and is mostly used for academic research and with Cyberware scanners.

The .ply format is a polygonal format. It can handle very large data sets, and supports vertex normals and colors. Houdini can read and write .ply files using the gply standalone program.

.stl, .bstl


Uses gstl command.

STL (and BSTL for binary) stands for Stereo Lithographic and is widely used in CAD software as well as many 3D scanners.



Uses goff command.

OFF stands for Object File Format, but is not to be confused with OBJ format. It only supports closed polygons and positions for points.



Uses gpdb command.

Protein Data Bank’s atomic format.



OpenVDB file format. Primitive attributes will be converted to grid metadata, and detail attributes to file metadata.


Internal Filmbox

.usd, .usda, .usdc

Internal Universal Scene Descriptor.


Internal FloatGrid heightfield format. Imported as a 2d-Volume.

.hgt, .asc, .xyz

Internal Height Data heightfield format. Imported as a 2d-Volume.

.r16, .r32

Internal Raw Height Data heightfield format. Imported as a 2d-Volume. Since there is no header, these are assumed to be square. r16 is unsigned shorts in the range 0..65535 that will be converted to 0..1. r32 is 32-bit floats that will be read unaltered. The source file is treated as little-endian.

.img, .tif, .tiff, .png, .jpg, .tga, .exr, .pic

Internal Textures will be loaded as 2d volumes with one volume per channel. Control over interpretation can be had by adding options after # in the filename and separated with ;. lat and lon can set the latitude and longitude, forcecolor and forceheight set the interpretation as a heightfield or color field, and heightasmask re-interprets the mask field as the height (useful if channels are reversed). For example, the filename foo.jpg#forceheight=1 will cause the image to be created as a height field rather than as a color field.

.igs, .iges


Uses giges command.

Support for the IGES interchange format.



Uses gabc command.

Support for the Alembic interchange format.


Houdini 11 ASCII geometry format.


Houdini 11 binary geometry format.


Houdini 12 ASCII geometry format


Houdini 12 binary geometry format


Setting the environment variable HOUDINI_GEOMETRY_FORMAT to hclassic will set .geo/.bgeo to save as .hclassic/.bhclassic format. This will cause Houdini to save locked geometry in a format that can be read into older versions of Houdini. The older hclassic formats do not support all features of the newer geometry libraries, so use of the environment variable to override the format globally should be used with caution.

See also

Supported file formats