Spatial reasoning tests measure your ability to mentally manipulate shapes and visualize transformations. You'll rotate objects, identify mirror images, and fold 2D patterns into 3D shapes.
These tests assess skills essential for engineering, architecture, design, and any role requiring strong visualization abilities. This format is commonly used in technical aptitude tests and graduate recruitment programs. Our procedurally generated questions ensure you'll never see the same puzzle twice, providing unlimited practice opportunities.
All puzzles are generated locally in your browser. Your progress and answers are stored only on your device — we never collect any personal data.
Key Patterns & Formats
2D Rotation
Mentally rotating a shape by a specified angle in the plane.
new_position = rotate(original_position, angle, center)Mirror Reflection
Finding the reflected image of a shape across a horizontal or vertical axis.
reflection(shape, axis) = shape flipped across axisTransformation Sequences
Identifying the next shape in a series of progressive transformations.
shape[n+1] = transform(shape[n], rule)Path Tracing
Tracking path endpoints through grid rotations and reflections.
new_endpoint = transform(path_endpoint, transformation)Symmetry Detection
Identifying axes of symmetry in patterns and shapes.
is_symmetric = (pattern == reflect(pattern, axis))Shape Fitting
Identifying which piece correctly fills a given outline.
match = find_piece(outline, available_pieces)Cube Net Folding
Visualizing how a flat cube net folds into a 3D cube.
folded_cube = fold(net, edges)Cube Unfolding
Identifying which 2D net corresponds to a given 3D cube.
net = unfold(cube, visible_markers)3D Rotation
Mentally rotating three-dimensional objects and predicting their appearance.
new_view = rotate_3d(object, axis, angle)Block Counting
Counting visible and hidden blocks in 3D arrangements.
total_blocks = sum(visible_blocks) + sum(hidden_blocks)Orthographic Views
Matching 3D objects with their top, front, or side projections.
view = project(3d_object, viewing_direction)Cross-Sections
Identifying 2D shapes that result from slicing 3D objects.
cross_section = intersect(3d_object, cutting_plane)Paper Folding
Predicting hole patterns when folded paper is punched and unfolded.
holes_unfolded = reflect(punch_position, fold_axis)Mental Rotation Strategies
Cognitive techniques for visualizing spatial transformations.
Mental simulation of physical transformationSolving Strategies
- Pick a distinctive feature (corner, point, asymmetric part)
- Track where that feature moves during rotation
- 90° moves each side one position clockwise
- Verify multiple features match the expected rotation
- Identify which axis the mirror is along
- Vertical axis: swap left and right
- Horizontal axis: swap top and bottom
- The shape should look like its reflection, not a rotation
Common Pitfalls
- Confusing clockwise with counterclockwise
- Losing track of the original orientation
- Not considering that 270° CW = 90° CCW
- Confusing reflection with 180° rotation
- Mixing up horizontal and vertical axis effects
- Forgetting that asymmetric shapes change 'handedness'