12,000+ open source STEP parts for your next CAD project
$ npx -y skills add earthtojake/step.parts --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: earthtojake/step.parts
What's inside
step.parts is a searchable directory of open-source STEP models for parts you can drop into CAD assemblies, robot builds, electronics layouts, and mechanical prototypes. Each catalog entry pairs a canonical STEP file with human-authored metadata and generated preview assets.
You can find components such as:
Contributions must be made with pull requests. Create a branch, make your catalog changes locally, run the relevant checks, and open a PR for review rather than pushing directly to main.
Use the add-part helper to add STEP files to the catalog:
npm run catalog:add
The command prompts for a local STEP file path, part metadata, tags, aliases, optional standard details, and attributes. It generates the part id, copies the STEP file into the catalog, updates the source catalog, refreshes SQLite catalog metadata, exports GLB/PNG previews, and validates everything.
Preview the generated record without writing files:
npm run catalog:add -- --dry-run --step /path/to/part.step --name "Example part" --category fastener --family socket-head-cap-screw --tag screw --attr thread=M3
Before opening the PR, review:
catalog/parts.jsoncatalog/step/catalog/parts.sqlitepublic/glb/ and public/png/ files should not be committedThen run the relevant checks:
npm run catalog:check
npm run lint
npx tsc --noEmit
See TAGGING.md for tag conventions and DEVELOPMENT.md for catalog schema, asset generation, and deployment details.
Use Node.js 22.5 or newer. The repo includes .nvmrc, so nvm use will select the same major version used by CI.
npm install
npm run dev
Open http://localhost:3000.
For catalog generation, preview assets, validation, and deployment notes, see DEVELOPMENT.md.
The public API lives under https://api.step.parts/v1. The app also uses the same /v1 routes locally for server-side search, filtering, downloads, and pagination.
Common lookups:
https://api.step.parts/v1/parts?pageSize=100https://api.step.parts/v1/parts?q=M3&tag=screw&page=2https://api.step.parts/v1/parts?category=fastener&family=socket-head-cap-screw&standard=ISO%204762https://api.step.parts/v1/parts?q=lengthMm%2012Machine-readable docs are available at https://api.step.parts/v1/openapi.json, https://api.step.parts/v1/catalog/schema, and https://api.step.parts/v1/catalog/parts.index.json.
This repository is MIT-licensed for original project material.
Some STEP/model files are copied from, modified from, adapted from, or generated using clearly licensed third-party model sources. The MIT License does not relicense third-party-derived STEP/model files. See THIRD_PARTY_NOTICES.md for source, attribution, modification, and license details.
.env.example
.gitattributes
.githooks/
post-checkout
post-commit
post-merge
pre-commit
pre-push
.github/
workflows/
check.yml
sync-preview-assets.yml
.gitignore
.nvmrc
AGENTS.md
catalog/
new-parts-review.csv
parts.json
parts.sqlite
step/
120mm_fan_plenum_adapter.step
120mm_fan_reducer_duct.step
120mm_fan_right_angle_duct.step
120mm_fan_straight_duct.step
140mm_fan_plenum_adapter.step
140mm_fan_reducer_duct.step
140mm_fan_right_angle_duct.step
140mm_fan_straight_duct.step
19in_rack_blank_panel_1u.step
19in_rack_blank_panel_2u.step
19in_rack_blank_panel_3u.step
19in_rack_rack_ears_1u.step
19in_rack_rack_ears_2u.step
19in_rack_rack_ears_3u.step
19in_rack_vented_panel_1u.step
19in_rack_vented_panel_2u.step
19in_rack_vented_panel_3u.step
2020x50_v_slot_profile.step
25mm_fan_plenum_adapter.step
25mm_fan_reducer_duct.step
25mm_fan_right_angle_duct.step
25mm_fan_straight_duct.step
30mm_fan_plenum_adapter.step
30mm_fan_reducer_duct.step
30mm_fan_right_angle_duct.step
30mm_fan_straight_duct.step
3dprinter_bmg_extruder_envelope.step
3dprinter_mk8_extruder_envelope.step
3dprinter_orbiter_extruder_envelope.step
3dprinter_v6_hotend_envelope.step
3dprinter_volcano_hotend_envelope.step
40mm_fan_plenum_adapter.step
40mm_fan_reducer_duct.step
40mm_fan_right_angle_duct.step
40mm_fan_straight_duct.step
50mm_fan_plenum_adapter.step
50mm_fan_reducer_duct.step
50mm_fan_right_angle_duct.step
50mm_fan_straight_duct.step
60mm_fan_plenum_adapter.step
60mm_fan_reducer_duct.step
60mm_fan_right_angle_duct.step
60mm_fan_straight_duct.step
7segment_led_hdsm531_hdsm533_smd.step
7segmentled_lts6760_lts6780.step
80mm_fan_plenum_adapter.step
80mm_fan_reducer_duct.step
80mm_fan_right_angle_duct.step
80mm_fan_straight_duct.step
92mm_fan_plenum_adapter.step
92mm_fan_reducer_duct.step
92mm_fan_right_angle_duct.step
92mm_fan_straight_duct.step
adafruit_1092_tactile_on_off_switch.step
adafruit_1119_tactile_switch_12mm_b3f_40xx.step
adafruit_1143_micro_servo_high_torque_metal_gear.step
adafruit_1313_speaker_3in_8ohm_1w.step
adafruit_1317_150mah_lipo_battery.step
adafruit_1321_battery_9v.step
adafruit_1374_at42qt1010_breakout.step
adafruit_1426_8x_neopixel_stick.step
adafruit_1438_adafruit_motorshield.step
adafruit_1445_16mm_button.step
adafruit_1501_trinket_5v.step
adafruit_1570_100mah_lipo_battery.step
adafruit_1578_500mah_battery.step
adafruit_1680_5in_tft_display.step
adafruit_1781_2200mah_battery.step
adafruit_1833_micro_usb_breakout.step
adafruit_1893_altimeter_mlp3115a2.step
adafruit_1982_mpr121.step
adafruit_2011_2000mah_battery.step
adafruit_2130_pam8302.step
adafruit_2190_verter_5v_usb.step
adafruit_2201_submicro_servo.step
adafruit_2218_hdmi_tpf401_breakout.step
adafruit_2226_neopixel_jewel.step
adafruit_2230_extruded_aluminum_box_94mm.step
adafruit_2232_5in_hdmi_backpack.step
adafruit_2307_microservo_mg923b.step
adafruit_2315_pitft_2_2.step
adafruit_2354_7in_tft_touchscreen_v3.step
adafruit_2423_pitft_2_8.step
adafruit_2441_pitft_3_5.step
adafruit_24x_neopixel_ring_1586.step
adafruit_2643_neopixel_ring_12.step
adafruit_2719_oled_2_4in.step
adafruit_2831_photo_transistor_light_sensor.step
adafruit_2900_feather_oled_wing.step
adafruit_2941_micro_dc_motor.step
adafruit_3000_circuit_playground_classic.step
adafruit_3010_feather_m0_wifi.step
adafruit_3027_adafruit_fona_feather_32u4.step
adafruit_3101_8mm_soft_button.step
adafruit_3104_3105_mini_illuminated_momentary_pushbutton_v7.step
adafruit_3202_spy_camera.step
adafruit_3258_microusb_panel_mount.step
adafruit_328_2500mah_battery.step
adafruit_3346_adafruit_speaker_bonnet_for_pi.step
adafruit_3350_rgb_button.step
adafruit_353_6600mah_battery.step
adafruit_354_4400mah_battery.step
adafruit_3577_pico_hat.step
adafruit_3692_trs_jack.step
adafruit_3777_tt_motor.step
adafruit_3802_tt_motor_metal_gear.step
adafruit_3842_3xaa_battery.step
adafruit_3898_400mah_battery.step
adafruit_4056_usb_c_to_micro_b.step
adafruit_413_large_solenoid.step
adafruit_4431_stemma_buttons.step
adafruit_4654_miniboost_5v.step
adafruit_471_arcade_button_30mm.step
adafruit_512_analog_2_axis_joystick.step
adafruit_5128_macropad_rp2040_keyplate.step
adafruit_5221_ano_rotary_encoder.step
adafruit_5358_mag_connector_4_pin_right_angle_pins.step
adafruit_5358_mag_connector_4_pin_right_angle.step
adafruit_5359_mag_connector_5_pin_right_angle_pads.step
adafruit_5359_mag_connector_5_pin_right_angle_pins.step
adafruit_5360_mag_connector_3_pin_right_angle_pads.step
adafruit_5360_mag_connector_3_pin_right_angle.step
adafruit_5412_mag_connector_usb_connector.step
adafruit_5412_mag_connector_usb_to_4_pin.step
adafruit_5413_mag_connector_5_pin_straight_pads.step
adafruit_5413_mag_connector_5_pin_straight_pins.step
adafruit_592_microusb_b_connector_cable.step
adafruit_5975_neopixel_breakout.step
adafruit_5978_usb_c_plug_breakout.step
adafruit_67_9v_battery_holder.step
adafruit_711_dc_toy_motor.step
adafruit_727_3x_aaa_battery_holder.step
adafruit_770_2xaa_battery_holder.step
adafruit_817_micro_switch_zippy.step
adafruit_830_battery_holder.step
adafruit_858_stepper_motor_5vdc.step
adafruit_875_8xaa_battery_holder.step
adafruit_878_7_segment_display_backpack.step
adafruit_937_panel_mount_usb_cable.step
adafruit_laser_diode.step
adafruit_ssd1306.step
adhesive_backed_pcb_support_m2_h005.step
adhesive_backed_pcb_support_m2_h006.step
adhesive_backed_pcb_support_m2_h008.step
adhesive_backed_pcb_support_m2_h010.step
adhesive_backed_pcb_support_m2_h012.step
adhesive_backed_pcb_support_m2_h015.step
adhesive_backed_pcb_support_m2_h020.step
adhesive_backed_pcb_support_m2_h025.step
adhesive_backed_pcb_support_m2p5_h005.step
adhesive_backed_pcb_support_m2p5_h006.step
adhesive_backed_pcb_support_m2p5_h008.step
adhesive_backed_pcb_support_m2p5_h010.step
adhesive_backed_pcb_support_m2p5_h012.step
adhesive_backed_pcb_support_m2p5_h015.step
adhesive_backed_pcb_support_m2p5_h020.step
adhesive_backed_pcb_support_m2p5_h025.step
adhesive_backed_pcb_support_m3_h005.step
adhesive_backed_pcb_support_m3_h006.step
adhesive_backed_pcb_support_m3_h008.step
adhesive_backed_pcb_support_m3_h010.step
adhesive_backed_pcb_support_m3_h012.step
adhesive_backed_pcb_support_m3_h015.step
adhesive_backed_pcb_support_m3_h020.step
adhesive_backed_pcb_support_m3_h025.step
adhesive_backed_pcb_support_m4_h005.step
adhesive_backed_pcb_support_m4_h006.step
adhesive_backed_pcb_support_m4_h008.step
adhesive_backed_pcb_support_m4_h010.step
adhesive_backed_pcb_support_m4_h012.step
adhesive_backed_pcb_support_m4_h015.step
adhesive_backed_pcb_support_m4_h020.step
adhesive_backed_pcb_support_m4_h025.step
adhesive_rubber_foot_d10_h5.step
adhesive_rubber_foot_d12_h6.step
adhesive_rubber_foot_d15_h8.step
adhesive_rubber_foot_d20_h10.step
adhesive_rubber_foot_d25_h12.step
adhesive_rubber_foot_d6_h3.step
adhesive_rubber_foot_d8_h4.step
ag12864e.step
altech_ak300_1x02_p5_00mm_45_degree.step
altech_ak300_1x03_p5_00mm_45_degree.step
altech_ak300_1x04_p5_00mm_45_degree.step
altech_ak300_1x05_p5_00mm_45_degree.step
altech_ak300_1x06_p5_00mm_45_degree.step
altech_ak300_1x07_p5_00mm_45_degree.step
altech_ak300_1x08_p5_00mm_45_degree.step
altech_ak300_1x09_p5_00mm_45_degree.step
altech_ak300_1x10_p5_00mm_45_degree.step
altech_ak300_1x11_p5_00mm_45_degree.step
altech_ak300_1x12_p5_00mm_45_degree.step
altech_ak300_1x13_p5_00mm_45_degree.step
altech_ak300_1x14_p5_00mm_45_degree.step
altech_ak300_1x15_p5_00mm_45_degree.step
altech_ak300_1x16_p5_00mm_45_degree.step
altech_ak300_1x17_p5_00mm_45_degree.step
altech_ak300_1x18_p5_00mm_45_degree.step
altech_ak300_1x19_p5_00mm_45_degree.step
altech_ak300_1x20_p5_00mm_45_degree.step
altech_ak300_1x21_p5_00mm_45_degree.step
altech_ak300_1x22_p5_00mm_45_degree.step
altech_ak300_1x23_p5_00mm_45_degree.step
altech_ak300_1x24_p5_00mm_45_degree.step
amass_xt60_f_1x02_p7_2mm_vertical.step
amass_xt60_m_1x02_p7_2mm_vertical.step
ams_lga_10_1ep_2_7x4mm_p0_6mm.step
ams_lga_20_4_7x4_5mm_p0_65mm.step
ams_tsl2550_smd.step
analog_bga_165_11_9x16mm_layout11x15_p1_0mm.step
analog_bga_209_9_5x16mm_layout11x19_p0_8mm.step
analog_bga_49_6_25x6_25mm_layout7x7_p0_8mm.step
analog_bga_77_9x15mm_layout7x11_p1_27mm.step
analog_ks_4.step
analog_lcc_8_5x5mm_p1_27mm.step
analog_lfcsp_16_1ep_4x4mm_p0_65mm_ep2_1x2_1mm.step
analog_lfcsp_16_1ep_4x4mm_p0_65mm_ep2_35x2_35mm.step
analog_lfcsp_uq_10_1_3x1_6mm_p0_4mm.step
analog_msop_12_16_1ep_3x4_039mm_p0_5mm_ep1_651x2_845mm.step
analog_msop_12_16_3x4_039mm_p0_5mm.step
analog_to_46_4_thermalshield.step
angle_equal_en10056_100x100x10.step
angle_equal_en10056_100x100x12.step
angle_equal_en10056_100x100x8.step
angle_equal_en10056_120x120x10.step
angle_equal_en10056_120x120x12.step
angle_equal_en10056_150x150x12.step
angle_equal_en10056_150x150x14.step
angle_equal_en10056_150x150x15.step
angle_equal_en10056_160x160x10.step
angle_equal_en10056_160x160x12.step
angle_equal_en10056_160x160x14.step
angle_equal_en10056_160x160x15.step
angle_equal_en10056_160x160x16.step
angle_equal_en10056_160x160x17.step
angle_equal_en10056_180x180x12.step
angle_equal_en10056_180x180x14.step
angle_equal_en10056_180x180x16.step
angle_equal_en10056_180x180x18.step
angle_equal_en10056_200x200x14.step
angle_equal_en10056_200x200x16.step
angle_equal_en10056_200x200x18.step
angle_equal_en10056_200x200x20.step
angle_equal_en10056_200x200x24.step
angle_equal_en10056_20x20x3.step
angle_equal_en10056_250x250x25.step
angle_equal_en10056_250x250x28.step
angle_equal_en10056_250x250x32.step
angle_equal_en10056_250x250x35.step
angle_equal_en10056_25x25x3.step
angle_equal_en10056_25x25x4.step
angle_equal_en10056_30x30x3.step
angle_equal_en10056_30x30x4.step
angle_equal_en10056_30x30x5.step
angle_equal_en10056_35x35x3.step
angle_equal_en10056_35x35x4.step
angle_equal_en10056_35x35x5.step
angle_equal_en10056_40x40x3.step
angle_equal_en10056_40x40x4.step
angle_equal_en10056_40x40x5.step
angle_equal_en10056_45x45x4.step
angle_equal_en10056_45x45x5.step
angle_equal_en10056_50x50x4.step
angle_equal_en10056_50x50x5.step
angle_equal_en10056_50x50x6.step
angle_equal_en10056_60x60x5.step
angle_equal_en10056_60x60x6.step
angle_equal_en10056_70x70x6.step
angle_equal_en10056_70x70x7.step
angle_equal_en10056_70x70x8.step
angle_equal_en10056_80x80x10.step
angle_equal_en10056_80x80x6.step
angle_equal_en10056_80x80x8.step
angle_equal_en10056_90x90x10.step
angle_equal_en10056_90x90x7.step
angle_equal_en10056_90x90x8.step
angle_equal_size10x10_l0100.step
angle_equal_size10x10_l0150.step
angle_equal_size10x10_l0200.step
angle_equal_size10x10_l0250.step
angle_equal_size10x10_l0300.step
angle_equal_size10x10_l0400.step
angle_equal_size10x10_l0500.step
angle_equal_size10x10_l0600.step
angle_equal_size10x10_l0750.step
angle_equal_size10x10_l1000.step
angle_equal_size20x20_l0100.step
angle_equal_size20x20_l0150.step
angle_equal_size20x20_l0200.step
angle_equal_size20x20_l0250.step
angle_equal_size20x20_l0300.step
angle_equal_size20x20_l0400.step
angle_equal_size20x20_l0500.step
angle_equal_size20x20_l0600.step
angle_equal_size20x20_l0750.step
angle_equal_size20x20_l1000.step
angle_equal_size30x30_l0100.step
angle_equal_size30x30_l0150.step
angle_equal_size30x30_l0200.step
angle_equal_size30x30_l0250.step
angle_equal_size30x30_l0300.step
angle_equal_size30x30_l0400.step
angle_equal_size30x30_l0500.step
angle_equal_size30x30_l0600.step
angle_equal_size30x30_l0750.step
angle_equal_size30x30_l1000.step
angle_equal_size40x40_l0100.step
angle_equal_size40x40_l0150.step
angle_equal_size40x40_l0200.step
angle_equal_size40x40_l0250.step
angle_equal_size40x40_l0300.step
angle_equal_size40x40_l0400.step
angle_equal_size40x40_l0500.step
angle_equal_size40x40_l0600.step
angle_equal_size40x40_l0750.step
angle_equal_size40x40_l1000.step
angle_unequal_en10056_100x50x6.step
angle_unequal_en10056_100x50x8.step
angle_unequal_en10056_100x65x10.step
angle_unequal_en10056_100x65x7.step
angle_unequal_en10056_100x65x8.step
angle_unequal_en10056_120x80x10.step
angle_unequal_en10056_120x80x12.step
angle_unequal_en10056_120x80x8.step
angle_unequal_en10056_150x100x10.step
angle_unequal_en10056_150x100x12.step
angle_unequal_en10056_200x100x10.step
angle_unequal_en10056_200x100x12.step
angle_unequal_en10056_40x20x3.step
angle_unequal_en10056_40x20x4.step
angle_unequal_en10056_40x25x3.step
angle_unequal_en10056_40x25x4.step
angle_unequal_en10056_40x25x5.step
angle_unequal_en10056_45x30x3.step
angle_unequal_en10056_45x30x4.step
angle_unequal_en10056_45x30x5.step
angle_unequal_en10056_50x30x4.step
angle_unequal_en10056_50x30x5.step
angle_unequal_en10056_50x40x4.step
angle_unequal_en10056_50x40x5.step
angle_unequal_en10056_60x30x5.step
angle_unequal_en10056_60x40x5.step
angle_unequal_en10056_60x40x6.step
angle_unequal_en10056_60x40x7.step
angle_unequal_en10056_65x50x5.step
angle_unequal_en10056_65x50x6.step
angle_unequal_en10056_65x50x7.step
angle_unequal_en10056_65x50x8.step
angle_unequal_en10056_65x50x9.step
angle_unequal_en10056_70x50x5.step
angle_unequal_en10056_70x50x6.step
angle_unequal_en10056_70x50x7.step
angle_unequal_en10056_70x50x8.step
angle_unequal_en10056_70x50x9.step
angle_unequal_en10056_80x40x6.step
angle_unequal_en10056_80x40x8.step
angle_unequal_en10056_80x60x6.step
angle_unequal_en10056_80x60x7.step
angle_unequal_en10056_80x60x8.step
ansi_asme_b18_2_1_hex_head_cap_screw_1_4_20x1.step
ansi_asme_b18_2_2_hex_nut_1_4_20.step
ansi_asme_b18_22_1_sae_std_plain_washer_1_4.step
ao_dfn_8_1ep_5_55x5_2mm_p1_27mm_ep4_12x4_6mm.step
aosong_dht11_5_5x12_0_p2_54mm.step
arduino_giga_r1_wifi.step
arduino_nano_esp32.step
arduino_nano_matter.step
arduino_nano_mounting_holes_cutter_reference.step
arduino_nano_r4.step
arduino_nicla_sense_env.step
arduino_nicla_sense_me.step
arduino_nicla_vision.step
arduino_nicla_voice.step
arduino_opta_lite.step
arduino_opta_rs485_wifi.step
arduino_portenta_c33.step
arduino_portenta_h7_lite_connected.step
arduino_portenta_h7_lite.step
arduino_portenta_x8.step
arduino_stella.step
... 1600 moreShowing a partial view of a very large repo.
FAQ
stepparts is a Claude Code plugin with 1 hand-picked skill for data work, indexed on Flowy. Install it with the command on its page. It includes step-parts. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.