Back to Explorations

Locksport Tools

Interactive tools for understanding lock mechanisms and security systems.

Combination Lock Decoder

Interactive calculator to find Master Lock combinations.

Use Calculator

Bitting Analyzer & Reference Tables

Analyze key bitting and view key specs and depth tables.

Use Analyzer

3D Key Model

Generate and preview STL key models directly in the browser.

Use Modeler

Privilege Escalation Planner

Model possible master-key outcomes from known change-key depths.

Use Planner

Educational Purposes Only

These tools are for educational purposes and understanding lock mechanisms. Only use on locks you own or have permission to test.

Combination Lock Decoder

Find the combination to a Master Lock using physical measurements. Original concept and algorithm by Samy Kamkar. Watch the video tutorial.

Inputs

1Find the "First Locked Position"

  1. Set the dial to 0
  2. Pull on the shackle and rotate counter-clockwise (towards 10) until the dial clicks into a gap
  3. If you're between two integers (e.g., 3 and 4), reset and continue to test the next gap
  4. If the dial crosses an integer (e.g., between 3.5 and 4.5), enter the number in-between (e.g., 3)

2Find the "Second Locked Position"

  1. Reset and continue turning counter-clockwise until you find a gap below 11 that crosses a second integer
  2. Enter this number (e.g., if between 5.5 and 6.5, enter 6)
  3. If you only find ONE locked position under 11, try between 10-20, then subtract 10

3Find the "Snag Number"

  1. Lightly pull the shackle so you can turn the dial
  2. Rotate clockwise until you feel resistance at only one point
  3. Verify the dial snags at the same place several times
  4. If the snag begins at a half number (e.g., 14.5), enter 14.5

4Find & Narrow Results

  1. Click "Find Combinations" to get possible combinations
  2. Test the third digit options by pulling the shackle and noting rotation
  3. Select the number with the larger gap to narrow to 8 combinations
  4. Test all 8 until one works! Click tested combos to track progress

Bitting Analyzer & Reference Tables

Analyze key bitting depths, validate cuts, check MACS violations, and reference technical specifications. All measurements in thousandths of an inch.

Cylinder Type

Shift: Negative values = deeper cuts

Root Depths (Leave unused positions blank)

Enter up to 7 root depths in thousandths of an inch (e.g., 200, 214, 259). Leave empty to use Schlage example.

Key Specifications

SetShoulder/Tip to FirstCenter to CenterMACSStep Size
Default.231".156"70.0150

Bitting Depth Table

Cut #Root DepthBottom PinsMaster Pins
0.335.165
1.320.180
2.305.195.030
3.290.210
4.275.225.060
5.260.240
6.245.255.090
7.230.270
8.215.285.120
9.200.300

MACS (Maximum Adjacent Cut Specification) indicates the maximum difference allowed between adjacent cuts. A dash (—) indicates that data is not available or not applicable for that specification.

3D Key Model Generator

Generate and preview STL key models directly from generator settings. This section is fully independent from the bitting analyzer.

Master-Key Privilege Escalation Planner

Starting point: 6 chambers on the horizontal axis, with depth rows sourced from the selected lookup table (including #0 where available). Enter the change-key bitting to auto-mark excluded depths using table-derived master-pin rules.

Instructions

Select cylinder type and manufacturer, then enter change-key depths at positions 1-6 using valid cut numbers for that system.

  • The grid marks that known bitting (entered) depth as 【Change】.
  • Excluded depths are table-driven: any depth difference not represented by supported master-pin delta multiples is auto-marked 【Invalid】.
  • All eligible cells in that column need to be tested, shown as 【Test】. Mark it as 【Blocked】 or 【Shear】.
  • Once a master depth is identified for a position, all other remaining candidates in that column are marked 【N/A】.

Example: if position 1 is depth #2 and the table supports deltas {2,4}, then #4 and #6 are Test while #1, #3, and #5 are Invalid.

Assumption: One master pin per stack

Cylinder Type

6-Position Bitting Grid

Table source: Schlage • Depth rows: #0, #1, #2, #3, #4, #5, #6, #7, #8, #9

Detected adjacent depth step(s): 0.0150, 0.0150, 0.0150, 0.0150, 0.0150, 0.0150, 0.0150, 0.0150, 0.0150 • Master pin increment(s): 0.0300

No master pin size or increment matches 0.0150. Supported depth deltas from master pins: ±2, ±4, ±6, ±8.

DepthPosition 1Position 2Position 3Position 4Position 5Position 6
Change Key
#0
#1
#2
#3
#4
#5
#6
#7
#8
#9
Master Bitting (Minimum)
Master Bitting (Deep)
Master Pins

Exclusion rule active (table-driven): one-bit support is not detected, and unsupported depth deltas are excluded for each measured position.

Click Test/Blocked/Shear chips to toggle test result per depth. Strategy rows use Change and Shear depths per chamber: Minimum = min(Change, Shear), Deep = max(Change, Shear).

Once each chamber has enough test outcomes to determine a master pin depth, the table lists all valid master bitting combinations for below/above/same shear placement.

Useful Resources