There doesn't exist a way to do this in the options of the obj importer so what you could do is run a script that loops over the items in your scene, check if it is a mesh and export the current selection to its own file relative to the path your blend file is saved. import bpy # get the path where the blend file is located path = bpy.path.abspath('//') # deselect all objects bpy.ops.object.select_all(action='DESELECT') # loop through all the objects in the scene scene = bpy.context.scene for ob in scene.objects: # make the current object active and select it scene.objects.active = ob ob.select = True # make sure that we only export meshes if ob.type == 'MESH': # export the currently selected object to its own file based on its name bpy.ops.export_scene.obj(filepath=str(path + ob.name + '.obj'), use_selection=True) # deselect the object and move on to another if any more are left ob.select = False To further tweak your export options, see the parameters that [`bpy.ops.export_scene_obj()`](http://www.blender.org/documentation/blender_python_api_2_69_release/bpy.ops.export_scene.html#bpy.ops.export_scene.obj) accepts. For example, you can include normals with `use_normals=True`, change forward axis with `axis_forward` etc. There are more stringent checks that could be made but for simple use cases and if used properly, this should suffice. Also see http://blender.stackexchange.com/questions/5064/batch-import-wavefront-obj/5065#5065. To have it export only selected objects, comment line `7` and change line `11`. # remove bpy.ops.object.select_all(action='DESELECT') # change to this where instead of the entire scene, we only look through selected objects for ob in bpy.context.selected_objects: or keep line `11` and add another line for ob in scene.objects: # add the check to see if in selected objects here if ob in bpy.context.selected_objects: # adjust indentation ... ...