This guide keeps the practical setup and command details that do not fit well in the short project README.
- Download
JLCImport-vX.X.X.zipfrom Releases. - In KiCad, open
Tools > Plugin and Content Manager. - Click
Install from File.... - Select the ZIP and apply pending changes.
Use the packaged JLCImport-vX.X.X.zip, not the auto-generated source archive.
Link src/kicad_jlcimport into KiCad's plugin directory:
ln -s /path/to/kicad_jlcimport/src/kicad_jlcimport <plugins-dir>/kicad_jlcimportCommon plugin directories:
| OS | Path |
|---|---|
| macOS | ~/Documents/KiCad/<version>/scripting/plugins/ |
| Linux | ~/.local/share/kicad/<version>/scripting/plugins/ |
| Windows | %APPDATA%\kicad\<version>\scripting\plugins\ |
Restart KiCad after install.
Open PCB Editor > Tools > External Plugins > JLCImport.
- Search by keyword or LCSC part number.
- Filter results by part type and stock.
- Choose destination: project library or global library.
- Set library name if needed.
- Import symbol, footprint, and 3D model.
If sym-lib-table or fp-lib-table is created for the first time, reopen the project.
source install.sh # macOS/Linux
. .\install.ps1 # Windows PowerShellThese scripts create or activate the local virtual environment and install project commands.
jlcimport-cli has two main commands: search and import.
| Task | Command Pattern |
|---|---|
| Search parts | jlcimport-cli search "<query>" [options] |
| Import to project | jlcimport-cli import <LCSC_ID> -p /path/to/project [options] |
| Import to global library | jlcimport-cli import <LCSC_ID> --global [options] |
| Export files only | jlcimport-cli import <LCSC_ID> -o ./output [options] |
| Print generated text | `jlcimport-cli import <LCSC_ID> --show footprint |
| Use insecure TLS mode | jlcimport-cli --insecure <command> ... |
# Basic search
jlcimport-cli search "100nF 0402" -t basic
# Extended parts only
jlcimport-cli search "ESP32" -t extended
# More results with stock filter
jlcimport-cli search "ESP32" -n 20 --min-stock 100
# Include out-of-stock parts
jlcimport-cli search "RP2350" --min-stock 0
# Export results to CSV
jlcimport-cli search "RP2350" --csv > parts.csvUseful search flags:
-t, --type basic|extended|both(defaultboth)-n, --count Nnumber of results (default10)--min-stock Nminimum stock (default1)--csvmachine-readable output
# Preview generated content in terminal (no files written)
jlcimport-cli import C427602 --show both
# Export-only mode to a directory
jlcimport-cli import C427602 -o ./output
# Import directly into a KiCad project
jlcimport-cli import C427602 -p /path/to/project
# Import into KiCad global 3rd-party library
jlcimport-cli import C427602 --global
# Overwrite existing symbol/footprint/models during re-import
jlcimport-cli import C427602 -p /path/to/project --overwrite
# Use a custom library name
jlcimport-cli import C427602 -p /path/to/project --lib-name MyParts
# Target specific KiCad format/path behavior
jlcimport-cli import C427602 --global --kicad-version 8
jlcimport-cli import C427602 --global --kicad-version 9
jlcimport-cli import C427602 --global --kicad-version 10
# Override global library directory for one run
jlcimport-cli import C427602 --global-lib-dir /path/to/libsUseful import flags:
--lib-name MyPartsto use a custom library name.--show footprint|symbol|bothto print generated text.-o, --output DIRexport-only mode.-p, --project DIRimport into project libraries.--globalimport into global 3rd-party libraries.--global-lib-dir DIRone-run override of global path.--overwritereplace existing entries.--kicad-version 8|9|10target version-specific formats.
Use --insecure only when TLS interception on your network breaks certificate checks:
jlcimport-cli --insecure search "STM32"
jlcimport-cli --insecure import C427602 -p /path/to/projectInstall GUI dependencies:
pip install -e '.[gui]'Run:
jlcimport-gui
jlcimport-gui -p /path/to/project
jlcimport-gui --global
jlcimport-gui --kicad-version 9Install TUI dependencies:
pip install -e '.[tui]'Run:
jlcimport-tui
jlcimport-tui -p /path/to/project
jlcimport-tui --kicad-version 9TUI requires Python 3.10+.
If macOS blocks downloaded binaries from Releases:
xattr -cr jlcimport-cli/
xattr -cr jlcimport-tui/
xattr -cr jlcimport-gui/Settings are stored in jlcimport.json:
| OS | Path |
|---|---|
| macOS | ~/Library/Preferences/kicad/jlcimport.json |
| Linux | ~/.config/kicad/jlcimport.json |
| Windows | %APPDATA%\kicad\jlcimport.json |
- Missing symbol preview on Windows KiCad 9: see fixes/README.md.
- Deeper conversion and architecture notes: see architecture.md.