Locksport Tools
Interactive tools for understanding lock mechanisms and security systems.
Bitting Analyzer & Reference Tables
Analyze key bitting and view key specs and depth tables.
Use AnalyzerPrivilege Escalation Planner
Model possible master-key outcomes from known change-key depths.
Use PlannerEducational 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"
- Set the dial to 0
- Pull on the shackle and rotate counter-clockwise (towards 10) until the dial clicks into a gap
- If you're between two integers (e.g., 3 and 4), reset and continue to test the next gap
- 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"
- Reset and continue turning counter-clockwise until you find a gap below 11 that crosses a second integer
- Enter this number (e.g., if between 5.5 and 6.5, enter 6)
- If you only find ONE locked position under 11, try between 10-20, then subtract 10
3Find the "Snag Number"
- Lightly pull the shackle so you can turn the dial
- Rotate clockwise until you feel resistance at only one point
- Verify the dial snags at the same place several times
- If the snag begins at a half number (e.g., 14.5), enter 14.5
4Find & Narrow Results
- Click "Find Combinations" to get possible combinations
- Test the third digit options by pulling the shackle and noting rotation
- Select the number with the larger gap to narrow to 8 combinations
- 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
| Set | Shoulder/Tip to First | Center to Center | MACS | Step Size |
|---|---|---|---|---|
| Default | .231" | .156" | 7 | 0.0150 |
Bitting Depth Table
| Cut # | Root Depth | Bottom Pins | Master 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.
| Depth | Position 1 | Position 2 | Position 3 | Position 4 | Position 5 | Position 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.