How to Make a Custom Bobblehead From a Photo

A bobblehead is a small figure whose big head wobbles on a spring. You can make one of yourself, a friend or your dog with a 3D printer, a free program and a spring from the hardware store. This guide goes from photo to finished figure, one step at a time.

By the Bake3D teamUpdated 10 min read

Short answer

To make a custom bobblehead from a photo, first turn the photo into a 3D model with an AI image to 3D tool. In Blender, cut the model at the neck, close both cuts, and scale the head up to about 150 to 200%. Drill a hole in the neck and in the head, slightly wider than a small steel spring. Print both parts, glue the spring in, and paint.

How we checked this: On 8 October 2026 we cut our demo character (a person made with Bake3D) at the neck in Blender 4.4, closed both cuts, scaled the head to 170%, drilled the spring holes with the Boolean modifier, and rendered every step shown here. We have not printed this bobblehead yet, so the spring and hole sizes are a starting point to test. Print and paint advice comes from Prusa and Formlabs.

Bobbleheads are old. Wikipedia traces nodding figures back to temple toys in 17th century Asia, and baseball teams made papier-mâché bobblehead dolls by 1960. The idea has not changed. The head is joined to the body by a spring, so a light tap makes it move around.

A custom bobblehead has three parts: a body, a big head and a spring. You get the shape from a photo, split it in two, and join it back with the spring.

Three renders of an older man in a beige cardigan. Left, the full 3D model as made. Middle, the head lifted off with a steel spring floating above a grey neck stump that has a round hole. Right, the finished bobblehead with a much bigger head sitting on the body.
From model to bobblehead: the model as made, the parts after the cut, and the bigger head on its spring. Our demo character, cut and rendered in Blender on 8 October 2026. These are renders, not photos of a print.

What you need

  • A photo of the person or pet. The whole body, standing, on a plain background.
  • A 3D model made from that photo. Step 1 shows how.
  • Blender, the free 3D program, to cut the model and add the holes.
  • A 3D printer, or a printing service.
  • A small steel compression spring. Buy it before you design the holes.
  • Super glue, and primer and acrylic paint if you print in one color.

Step 1: Turn the photo into a 3D model

The fastest way is an AI image to 3D tool. It builds a full figure from one photo, including the back, which it guesses. Here is how it works in Bake3D:

  1. Pick a good photo. The whole body in the frame, standing, arms a little away from the body, even light. A three-quarter angle shows more of the shape than a straight front view.
  2. Check it for free. The free picture check tells you what Bake3D will build and the exact price before you pay. See it on the free demo page.
  3. Make the model on the image to 3D page. You do not need a rig for a bobblehead. A model alone costs 30 credits at Draft, 40 at Standard and 55 at High. The smallest pack is $5 for 80 credits.
  4. For a person, think about Faithful face. On High quality, this option keeps the eyes and face shape closer to the photo on people and human-like characters, for 14 credits more. It is refunded if it cannot be used.
  5. Download the model. Choose STL for the shape only. Choose OBJ if you want to see the colors in Blender, and also download the textures zip.

Be honest with yourself about likeness. From one photo, the face will look like the person in shape and style, but it may not be a perfect copy. Our guide to making a figurine from a photo compares this with phone scanning and paid sculpting services.

If you want the body in a special pose, like a wave, add a rig, pose the model in the studio and export the STL. The STL export saves the model in its current pose.

Step 2: Set the real size in Blender

Set the size first. If you drill the spring holes and then scale the model in your slicer, the holes change size too.

  1. Work in millimetres. Open Scene Properties, then Units. Set Unit Scale to 0.001 and Length to Millimeters. Now one Blender unit is one millimetre, and your STL will open at the right size in a slicer.
  2. Import the model. Use File, Import, then STL or Wavefront (OBJ).
  3. Scale it to the height you want. Press N and read the height under Dimensions. Divide the height you want, for example 120 mm, by that number. Press S and type the result.
  4. Apply the scale. Press Ctrl A and choose Scale. The Blender manual says this resets the scale values to 1, which keeps later steps exact.

Step 3: Cut the head off

Bake3D does not split models into parts. You do this in Blender with the Bisect tool, which the manual says cuts the mesh in two with an endless flat plane.

  1. Make two copies. Select the model and press Shift D, then right click to drop the copy in place. Name one Head and one Body.
  2. Cut the head copy. Select Head and press Tab for Edit Mode. Press A to select everything. Press 3 on the number pad for a side view.
  3. Use Mesh, Bisect. Drag a line across the neck, just under the chin. In the panel that opens at the bottom left, turn on Fill and Clear Inner. Fill closes the hole with a flat face. Clear Inner removes the body side. You may need Clear Outer instead, depending on the way you dragged.
  4. Write down the cut. The same panel shows Plane Point and Plane Normal. Note the numbers.
  5. Cut the body copy. Select Body, enter Edit Mode, select all, and run Bisect again. Type the same Plane Point and Plane Normal, turn on Fill, and clear the other side this time.

Tilt the cut a little if the collar rises higher at the back of the neck. We tilted ours so the cut ran just under the chin at the front and above the collar at the back. Then the head piece held only the head.

Step 4: Make the head bigger

Big heads are what make bobbleheads funny. A heavier head also bends the spring more, so it wobbles more.

  1. Put the 3D cursor on the cut. Select Head, enter Edit Mode, select only the flat cut face, then press Shift S and choose Cursor to Selected.
  2. Scale from that point. Go back to Object Mode. Set the Pivot Point menu at the top of the 3D view to 3D Cursor. Press S and type 1.7. We used 1.7. Try values between 1.5 and 2.
  3. Apply the scale again with Ctrl A.

Scaling from the cut keeps the bottom of the head in the same place, right on top of the neck.

Step 5: Add the spring holes

The spring sits in a hole in the neck and a hole in the head. A maker writing on Hackaday made a round hole in the bottom of the head and the top of the body. Each hole was just slightly larger than the spring.

Side view diagram of a bobblehead neck joint. A 6 mm wide, 20 mm long spring sits in a 6.6 mm hole that goes 10 mm into the body and 8 mm into the head, leaving a 2 mm gap between head and body. The neck is at least 9 mm wide.
Our example for a figure about 120 mm tall. Measure your own spring and change the numbers to match it. These sizes are a starting point to test, not a printed result.

Here are the example numbers from the diagram, and why each one is there:

Part Example size Why
Spring 6 mm wide, 20 mm long Small enough for the neck, long enough to bend
Holes 6.6 mm wide A 0.3 mm gap all around the spring. Prusa calls 0.3 mm a good first gap for moving parts
Hole in the body 10 mm deep Holds half the spring firmly
Hole in the head 8 mm deep Holds the top of the spring
Gap between head and body 2 mm 20 minus 10 minus 8. Room to wobble without rubbing
Neck At least 9 mm wide 6.6 mm hole plus 1.2 mm of wall on each side

The wall number comes from Formlabs, which gives 1 mm as the thinnest wall for filament printers and 1.2 mm for a 0.4 mm nozzle. If your neck is thinner than 9 mm, use a smaller spring.

To make the holes in Blender:

  1. Add a cylinder. Add, Mesh, Cylinder. In the panel at the bottom left, set Radius to 3.3 mm and Depth to 10 mm.
  2. Move it into the neck. Put it in the middle of the cut, with its top level with the cut face, so it sits down inside the body.
  3. Cut the hole. Select Body. In the Modifier tab, add a Boolean modifier, set it to Difference, pick the cylinder as the Object and choose the Exact solver. Apply the modifier, then hide the cylinder.
  4. Do the same for the head, with an 8 mm deep cylinder that sits up inside the head.

The Blender manual warns that only closed, manifold meshes are sure to give clean Boolean results. The Fill step in Step 3 helps with that. If a Boolean leaves holes, check the mesh in the next step.

Print a test first. Printers are not perfect. Prusa says its printers are accurate to at least 0.2 mm. Print a small block with three holes, for example 6.4, 6.6 and 6.8 mm, and see which one fits your spring best.

Step 6: Check and export

  1. Check the parts. Install the free 3D Print Toolbox extension from the Blender extensions site. Its checks find holes, thin walls and other problems a slicer may not like, and its Make Manifold button can fix many of them.
  2. Add a base, if needed. A big head makes a figure top heavy. A round base under the feet stops it from tipping. Add a cylinder and join it to the feet with a Boolean set to Union.
  3. Export each part. Select one part, then File, Export, STL. Turn on Selection Only. Do the same for the other part.
  4. Check the files. Open them in our free STL viewer and checker. It shows the size in millimetres, open edges and flipped faces. If you downloaded a GLB, our free GLB to STL converter makes the STL in your browser.

Step 7: Print, assemble and paint

Print the head upside down. Put the flat cut face on the bed. The face is flat, so it sticks well, and the spring hole points straight up, so it needs no support. Prusa notes that printers can print overhangs between 45 and 60 degrees cleanly. Steeper parts, like a chin or a nose, may need supports.

Print the body standing up on its base, with supports under the arms if they stick out.

For a small figure, resin gives the finest detail. Filament is fine for larger ones. Our figurine guide compares the two.

Put it together:

  1. Push the spring into the body hole with a small drop of super glue. Let it dry.
  2. Test the head on the spring without glue. It should sit level and wobble when you tap it.
  3. Put a small drop of glue in the head hole and press the head on. Hold it level until the glue sets.

Use very little glue. One maker writing for CATI found that pressing down too hard glued the neck in place and stopped the wobble.

Paint it. Formlabs says the goal of priming is a clean surface for paint. Sand the support marks, spray a primer, then paint with acrylics. Formlabs suggests checking that the paint says it works on plastic or many surfaces. Finish with one or two thin coats of clear varnish. Paint before the final glue step if the neck area is hard to reach.

If your printer can print several colors, you can skip most of the painting. Save the parts as 3MF to keep the colors. See 3MF vs STL.

A note on likeness

Bobbleheads of friends and family make great gifts. Selling them is different. The right of publicity lets people stop others from using their name or likeness to make money without permission. Cornell’s Legal Information Institute notes that it is mostly state law in the US, and only about half the states recognize it on its own. So for a bobblehead you plan to sell, ask the person first. Famous characters belong to their owners, so do not sell those either. Our guide on selling 3D models covers marketplace rules.

Start with a photo

Make the model on the image to 3D page, check it from every side, and export the STL. For a figure without a spring, read how to make an STL file and the figurine guide.

Questions people ask

How much does it cost to make your own bobblehead?

Blender is free. In Bake3D, checking your photo is free and a model costs 40 credits at Standard quality or 55 at High. The smallest pack is $5 for 80 credits. Add a little filament or resin, a small spring and paint.

What kind of spring do I need for a bobblehead?

A small steel compression spring, the kind that pushes back when you squeeze it. Pick the spring first, then size the holes to it. For a figure about 12 cm tall, a spring around 6 mm wide and 20 mm long is a fair start to test.

Can I 3D print the spring too?

Some makers do, often in a flexible filament. A store-bought steel spring is the simpler choice and needs no tuning. If you print one, test it before you glue anything.

Can I make a bobblehead of my dog or cat?

Yes. Use a clear photo of the whole pet standing, from the side or a three-quarter angle, on a plain background. Cut at the neck the same way, and keep the neck thick enough for the spring hole.

How big should a bobblehead be?

Aim for 10 to 20 cm. Bigger figures are easier to print, paint and fit a spring into. Very small ones leave little room for the neck hole.

Can I sell bobbleheads of real people?

Be careful. Many US states let people control the commercial use of their name and likeness. Make bobbleheads of people for personal gifts, or ask permission first. Famous characters belong to their owners.

Sources

  1. Wikipedia, Bobblehead
  2. Hackaday, Making a bobblehead of you (2015)
  3. CATI, A 3D printed bobblehead (2018)
  4. Blender Manual, Bisect
  5. Blender Manual, Boolean modifier
  6. Blender Manual, Apply transforms
  7. Blender Manual, STL import and export
  8. Blender Extensions, 3D Print Toolbox
  9. Prusa Knowledge Base, Modeling with 3D printing in mind
  10. Formlabs, Minimum wall thickness for 3D printing
  11. Formlabs, How to prime and paint 3D prints
  12. Cornell Law School LII, Publicity

About this guide

Written and kept up to date by the Bake3D team. We build a tool that turns one image into a textured, rigged and animated 3D model, and we test the steps in our guides on our own files. First published . See how we write and check guides, or send a correction to hello@bake3d.ai.