Fast EasyEDA/LCSC to KiCad converter written in Rust
Convert EasyEDA and LCSC components to KiCad library formats with blazing fast parallel downloads.
- Convert symbols, footprints, and 3D models
- Batch processing with parallel downloads
- Standalone binary - no dependencies required
- Low memory usage
Download from GitHub Releases:
- Windows:
nlbn-windows-x86_64.exe.zip - Linux:
nlbn-linux-x86_64.tar.gz - macOS:
nlbn-macos-x86_64.tar.gzornlbn-macos-aarch64.tar.gz
cargo install nlbngit clone https://github.com/linkyourbin/nlbn.git
cd nlbn
cargo build --release# Show version and help
nlbn
# Show frequently used command lines
nlbn --prompt
# Convert everything (symbol + footprint + 3D model)
nlbn --full --lcsc-id C2040
# Convert only symbol
nlbn --symbol --lcsc-id C2040
# Append to an existing KiCad library set
nlbn --full --lcsc-id C2040 -o ./kicad-libs --lib-name MyParts# Create a file with LCSC IDs (one per line)
echo "C2040" > components.txt
echo "C529356" >> components.txt
# Batch convert with 8 parallel threads
nlbn --full --batch components.txt --parallel 8
# Continue on errors
nlbn --full --batch components.txt --parallel 8 --continue-on-errornlbn [OPTIONS]
Options:
--lcsc-id <ID> LCSC component ID (e.g., C2040)
--batch <FILE> Batch mode: read IDs from file
--symbol Convert symbol only
--footprint Convert footprint only
--3d Convert 3D model only
--full Convert all (symbol + footprint + 3D)
-o, --output <PATH> Output directory [default: .]
--lib-name <NAME> Base library name under --output
--symbol-lib <FILE> Existing symbol library file to append/update
--footprint-lib <DIR> Existing footprint library directory to append/update
--model-lib <DIR> Existing 3D model library directory to append/update
--prompt Show frequently used command lines
--parallel <N> Parallel threads for batch mode [default: 4]
--continue-on-error Skip failed components in batch mode
--overwrite Overwrite existing components
--debug Enable debug logging
-h, --help Print help
output/
├── nlbn.kicad_sym # Symbol library
├── nlbn.pretty/ # Footprint library
│ └── Component_Name.kicad_mod
└── nlbn.3dshapes/ # 3D model library
└── Component_Name.step
Use --lib-name when you want to append into an existing MyParts.kicad_sym, MyParts.pretty, and MyParts.3dshapes set under one output directory. Use --symbol-lib, --footprint-lib, and --model-lib when you need to target explicit existing library locations. Existing symbol, footprint, and 3D files are skipped by default; pass --overwrite to replace them.
# High-performance batch conversion
nlbn --full --batch components.txt --parallel 16 -o ./library
# Append to explicit existing symbol / footprint / 3D libraries
nlbn --full --lcsc-id C529356 \
--symbol-lib ./kicad/MyParts.kicad_sym \
--footprint-lib ./kicad/MyParts.pretty \
--model-lib ./kicad/MyParts.3dshapes
# Resume interrupted batch (skip existing)
nlbn --full --batch components.txt --continue-on-error
This work is licensed under CC BY-NC 4.0. You are free to share and adapt this work for non-commercial purposes with attribution.


