Rust NLP Bindings NLP Tools
Rust implementations of NLP libraries with language bindings (Python, Node.js, etc.), and Rust-based NLP tools designed for interoperability. Does NOT include language-specific NLP tools, application-focused projects, or pure Python/JavaScript libraries.
There are 139 rust nlp bindings tools tracked. 1 score above 70 (verified tier). The highest-rated is forzagreen/n2words at 77/100 with 107 stars and 77,451 monthly downloads. 1 of the top 10 are actively maintained.
Get all 139 projects as JSON
curl "https://pt-edge.onrender.com/api/v1/datasets/quality?domain=nlp&subcategory=rust-nlp-bindings&limit=20"
Open to everyone — 100 requests/day, no key needed. Get a free key for 1,000/day.
| # | Tool | Score | Tier |
|---|---|---|---|
| 1 |
forzagreen/n2words
Convert numerical numbers to written numbers, in 52+ languages. |
|
Verified |
| 2 |
PyThaiNLP/nlpo3
Thai natural language processing library in Rust, with Python and Node bindings. |
|
Established |
| 3 |
pemistahl/lingua-rs
The most accurate natural language detection library for Rust, suitable for... |
|
Established |
| 4 |
greyblake/whatlang-rs
Natural language detection library for Rust. Try demo online: https://whatlang.org/ |
|
Established |
| 5 |
wikimedia/sentencex
A sentence segmentation library with wide language support optimized for... |
|
Established |
| 6 |
fbilhaut/gline-rs
Inference engine for GLiNER models, in Rust |
|
Established |
| 7 |
quickwit-oss/whichlang
A blazingly fast and lightweight language detection library for Rust |
|
Established |
| 8 |
openvenues/pypostal
Python bindings to libpostal for fast international address parsing/normalization |
|
Established |
| 9 |
jaidevd/numerizer
A Python module to convert natural language numerics into ints and floats. |
|
Established |
| 10 |
messense/fasttext-rs
fastText Rust binding |
|
Emerging |
| 11 |
akshaynagpal/w2n
Convert number words (eg. twenty one) to numeric digits (21) |
|
Emerging |
| 12 |
proycon/analiticcl
an approximate string matching or fuzzy-matching system for spelling... |
|
Emerging |
| 13 |
kensho-technologies/sequence_align
Efficient implementations of Needleman-Wunsch and other sequence alignment... |
|
Emerging |
| 14 |
yohasebe/engtagger
English Part-of-Speech Tagger Library; a Ruby port of Lingua::EN::Tagger |
|
Emerging |
| 15 |
djc/instant-segment
Fast English word segmentation in Rust |
|
Emerging |
| 16 |
openvenues/node-postal
NodeJS bindings to libpostal for fast international address parsing/normalization |
|
Emerging |
| 17 |
minibikini/paasaa
🔤 Natural language detection for Elixir without AI |
|
Emerging |
| 18 |
abitdodgy/words_counted
A Ruby natural language processor. |
|
Emerging |
| 19 |
doppio/word2num
A Python package for converting numbers expressed in natural language to... |
|
Emerging |
| 20 |
ticki/eudex
A blazingly fast phonetic reduction/hashing algorithm. |
|
Emerging |
| 21 |
cadmiumcr/cadmium
Natural Language Processing (NLP) library for Crystal |
|
Emerging |
| 22 |
allo-media/text2num-rs
Parse and convert numbers written in English, Dutch, Spanish, German,... |
|
Emerging |
| 23 |
joshrotenberg/lingua_ex
An Elixir wrapper around the Rust Lingua language detection library. |
|
Emerging |
| 24 |
rth/vtext
Simple NLP in Rust with Python bindings |
|
Emerging |
| 25 |
cmccomb/rust-stop-words
Common stop words in a variety of languages |
|
Emerging |
| 26 |
stellanomia/uroman-rs
A self-contained Rust reimplementation of uroman, a universal romanizer. |
|
Emerging |
| 27 |
cpcdoy/rust-sbert
Rust port of sentence-transformers (https://github.com/UKPLab/sentence-transformers) |
|
Emerging |
| 28 |
shnewto/ttaw
a piecemeal natural language processing library |
|
Emerging |
| 29 |
MicheleYin/misaki-rs
Rust port of Misaki |
|
Emerging |
| 30 |
bravo1goingdark/ucfp
UCFP is a high-performance, multimodal content fingerprinting framework... |
|
Emerging |
| 31 |
snipsco/snips-nlu-parsers
Rust crate for entity parsing |
|
Emerging |
| 32 |
victoryosiobe/kingchop
Kingchop ⚔️ is a JavaScript English based library for tokenizing text... |
|
Emerging |
| 33 |
rodaine/numwords
Go package to convert natural language strings to numbers |
|
Emerging |
| 34 |
eklem/words-n-numbers
Tokenizing strings of text. Regex extracting arrays of words and optionally... |
|
Emerging |
| 35 |
kampersanda/tongrams-rs
Rust library providing fast language model queries in compressed space |
|
Emerging |
| 36 |
gjtorikian/what_you_say
Natural language detection library. Written in Rust, wrapped in Ruby. |
|
Emerging |
| 37 |
Lips7/Matcher
A high-performance matcher designed to solve LOGICAL and TEXT VARIATIONS... |
|
Emerging |
| 38 |
zxc7563598/php-address-parser
收货地址智能解析工具,支持从非结构化文本中提取姓名、手机号、身份证号、省市区、详细地址等字段,适用于电商、物流、CRM 等系统 | An... |
|
Emerging |
| 39 |
famished-tiger/Rley
An Earley parser written in Ruby |
|
Emerging |
| 40 |
vgel/treebender
A HDPSG-inspired symbolic natural language parser written in Rust |
|
Emerging |
| 41 |
rwalk/gsdmm-rust
GSDMM: Short text clustering (Rust implementation) |
|
Emerging |
| 42 |
mladvladimir/rust-sentence-transformers
Rust port of https://github.com/UKPLab/sentence-transformers |
|
Emerging |
| 43 |
proycon/lingua-cli
Very small simple command-line interface for language detection using lingua-rs |
|
Emerging |
| 44 |
amokan/human_name
Elixir bindings for the human-name crate implemented as a safe Rust NIF |
|
Emerging |
| 45 |
arbox/wlapi
Ruby based API for the project Wortschatz Leipzig. |
|
Emerging |
| 46 |
dominictarro/semchunk-rs
A fast and lightweight Rust library for splitting text into semantically... |
|
Emerging |
| 47 |
unfoldingWord/string-punctuation-tokenizer
Small library that provides functions to tokenize a string into an array of... |
|
Emerging |
| 48 |
omarmhaimdat/whatlang-pyo3
Python Binding for Rust WhatLang, a language detection library |
|
Emerging |
| 49 |
sebpuetz/lumberjack
Read and modify constituency trees in Rust. |
|
Emerging |
| 50 |
ErcinDedeoglu/Postalized
The ultimate address parsing tool. Effortlessly parse and expand postal data... |
|
Experimental |
| 51 |
victor-iyi/sage
Software stack powering Project: "Enhancing Human Intelligence" |
|
Experimental |
| 52 |
jacksonllee/rustling
A blazingly fast library for computational linguistics |
|
Experimental |
| 53 |
dluman/rusTy
Rust bindings for the spaCy library. |
|
Experimental |
| 54 |
proycon/folia-rust
FoLiA library for rust (alpha) |
|
Experimental |
| 55 |
annotation/stam-rust
Programming library for the Standoff Text Annotation Model (STAM), written... |
|
Experimental |
| 56 |
RapidappsIT/uaddress
🇺🇦 UAddress | NLP Парсер украинских адресов |
|
Experimental |
| 57 |
stellanomia/haqumei
A Japanese Grapheme-to-Phoneme (G2P) library. |
|
Experimental |
| 58 |
kimryan/StreetAddressParser
extract components of a street address from free format text |
|
Experimental |
| 59 |
VastSea0/huma-lang
A high-performance, Turkish-syntax programming language built in Rust —... |
|
Experimental |
| 60 |
Tiphereth-A/tdector
A lingustics tool: mark words & find similar sentences |
|
Experimental |
| 61 |
fbilhaut/gliclass-rs
GLiClass inferences in Rust |
|
Experimental |
| 62 |
sjmielke/ptb-reader-rust
Simple parsing of the merged Penn Treebank format. |
|
Experimental |
| 63 |
dhchenx/rsnltk
Rust-based Natural Language Toolkit using Python Bindings |
|
Experimental |
| 64 |
antononcube/Raku-Lingua-NumericWordForms
Raku functions that generate, parse, and interpret numeric word forms in... |
|
Experimental |
| 65 |
stdlib-js/nlp-tokenize
Tokenize a string. |
|
Experimental |
| 66 |
amake/srx-ruby
An SRX segmenting engine for Ruby |
|
Experimental |
| 67 |
holbewoner/yn.rs
Natural language processing library for yes or no values written in Rust |
|
Experimental |
| 68 |
cgbur/croppy
Batch auto-crop tool for scanned film negatives in Lightroom |
|
Experimental |
| 69 |
justi/price_scanner
Battle-tested multi-currency price extraction from text. Supports PLN, EUR,... |
|
Experimental |
| 70 |
monorkin/witty
wit.ai client library for Rust |
|
Experimental |
| 71 |
despawnerer/truecase
Restore correct letter casings in arbitrary text using a statistical model |
|
Experimental |
| 72 |
ZJaume/heliport
Fast and accurate language identifier |
|
Experimental |
| 73 |
Yuzufi/word-freq-statistic
盲分词的高性能中文语料词频统计工具:1分钟内统计10亿字语料的2字词! |
|
Experimental |
| 74 |
uetchy/homebrew-nlp
🍺 a Homebrew keg that specialized in Natural Language Processing. |
|
Experimental |
| 75 |
ashvardanian/HashEvals
Minimalistic Rust toolkit for hash function quality analysis. Tests... |
|
Experimental |
| 76 |
chrovis/parattice
Recursive paraphrase lattice generator |
|
Experimental |
| 77 |
alordash/parse-word-to-number
Extracts numbers written as words from string. |
|
Experimental |
| 78 |
Krokochik/polyphon
Rust implementation of phonetic Polyphon algorithm |
|
Experimental |
| 79 |
olliverc1985/AXIOM
Lightweight Rust ML framework for training and deploying small transformer... |
|
Experimental |
| 80 |
KhalMorty/eld
🚛 ELD Toolkit for WASM frameworks. |
|
Experimental |
| 81 |
Flight-School/sentences
A command-line utility that splits natural language text into sentences. |
|
Experimental |
| 82 |
mrseanryan/in_definite
:a: Rust port of 'npm indefinite' for deciding which indefinite article to... |
|
Experimental |
| 83 |
ademakdogan/hyperfuzz
Blazing-fast string similarity library written in Rust with Python bindings.... |
|
Experimental |
| 84 |
arclabs561/phrasegen
Phrase generation and extraction |
|
Experimental |
| 85 |
Mango-Cats/tagabaybay
Orthographic nativization for Filipino loanwords. |
|
Experimental |
| 86 |
arclabs561/textprep
Text preprocessing primitives: normalization, tokenization, and fast keyword... |
|
Experimental |
| 87 |
arclabs561/gramdex
k-gram / trigram indexing primitives for approximate string matching. |
|
Experimental |
| 88 |
russianwordnet/yarn
Yet Another RussNet |
|
Experimental |
| 89 |
abitdodgy/gibran
Gibran is an Elixir natural language processor, and a port of WordsCounted. |
|
Experimental |
| 90 |
niclaslind/shorelark
Rust + NLP + WASM |
|
Experimental |
| 91 |
antononcube/Raku-Lingua-StopwordsISO
Raku package for stop words of different languages and stop words deletion.... |
|
Experimental |
| 92 |
joh-ga/RubyCrumbler
A simple Ruby script that contains a GUI desktop application providing... |
|
Experimental |
| 93 |
nathankleyn/ruby-nlp
Various NLP tools for Ruby |
|
Experimental |
| 94 |
patrols/ruby_llm-text
ActiveSupport-style Ruby gem for LLM text operations: summarize, translate,... |
|
Experimental |
| 95 |
Maroon502/ipopt-src
Build and Link Coin-OR Ipopt for ALL TARGETS. Redistribution of Coin-OR... |
|
Experimental |
| 96 |
FuturePresentLabs/swarf
Write English. Make chips. |
|
Experimental |
| 97 |
LdDl/langdetect-rs
Language detection in Rust. Port of Mimino666's langdetect. |
|
Experimental |
| 98 |
MeltwaterArchive/ex_lsh
A configurable implementation of locality-sensitive hashing in Elixir |
|
Experimental |
| 99 |
talmago/fast_gliner
Python bindings to Inference engine for GLiNER models written in Rust |
|
Experimental |
| 100 |
annotation/stam-python
Python binding to work with STAM, the Standoff Text Annotation Model, from... |
|
Experimental |
| 101 |
cliftontoaster-reid/wit_owo
A Rust library for the Wit.ai API |
|
Experimental |
| 102 |
joshrotenberg/unimorph-rs
A Rust toolkit for working with UniMorph morphological data |
|
Experimental |
| 103 |
7086cmd/iris
A universal code translator based on intermediate representations. |
|
Experimental |
| 104 |
messense/bosonnlp-rs
BosonNLP SDK for Rust |
|
Experimental |
| 105 |
raphaellaude/us-addrs
Rust implementation of usaddress, package for parsing unstructured US... |
|
Experimental |
| 106 |
frankier/opus-parse
This Rust library can parse OPUS's monolingual XML files. |
|
Experimental |
| 107 |
Lambda-Logan/creature_feature
Composable n-gram combinators that are ergonomic and bare-metal fast |
|
Experimental |
| 108 |
Miezhiko/Kathoey
Rust library for text feminization using open corpus linguistics data |
|
Experimental |
| 109 |
Aljutor/yurki
Fast NLP tools for Python |
|
Experimental |
| 110 |
VitalinaZlo/VolgaIT-2024_AI
Проект направлен на разработку алгоритма для автоматического распознавания... |
|
Experimental |
| 111 |
roloza7/sstn
Super Simple Text Normalizer in Rust with SIMD for x86 |
|
Experimental |
| 112 |
TangoJP/rust_vectorizer
Practice Rust by making Vectorizer |
|
Experimental |
| 113 |
parhamr/nlp-pure
Natural language processing algorithms implemented in pure Ruby with minimal... |
|
Experimental |
| 114 |
gembleman/bareun_rs
bareun-rs is an unofficial Rust library for Bareun, a Korean morphological analyzer. |
|
Experimental |
| 115 |
Bbeierle12/Word-Slush
Word frequency analyzer for Claude conversation exports |
|
Experimental |
| 116 |
eliangonde/langid
Rust implementation of the langid library for language identification.... |
|
Experimental |
| 117 |
GarthTB/word-freq-statistic
盲分词的高性能中文语料词频统计工具:1分钟内统计10亿字语料的2字词! |
|
Experimental |
| 118 |
scurkovic/cutters
A rule based sentence segmentation library. |
|
Experimental |
| 119 |
GarthTB/WordFreqCounter
盲分词的中文语料词频统计器 |
|
Experimental |
| 120 |
pymorphy2-fork/morphrs-py
Experimental morph-rs bindings for Python. |
|
Experimental |
| 121 |
yuanzhoulvpi2017/Rust4SenVec
convert sentence to vector by nlp transformers model in Rust |
|
Experimental |
| 122 |
sigrlami/lanhunch
Language Detection Library |
|
Experimental |
| 123 |
shubham0204/postagger.rs
NLTK inspired Parts-of-Speech Tagger (Perceptron Tagger) in Rust |
|
Experimental |
| 124 |
lloydmeta/sloword2vec-rs
A naive (read: slow) implementation of Word2Vec. Uses BLAS behind the scenes... |
|
Experimental |
| 125 |
proycon/lexmatch
Simple lexicon matcher against a text |
|
Experimental |
| 126 |
xamgore/segtok
A rule-based sentence segmenter (splitter) and a word tokenizer using... |
|
Experimental |
| 127 |
HectorPulido/human-language-toolkit-chatbot
nltk like chatbot in rust |
|
Experimental |
| 128 |
IsiXhosa-click/isixhosa
A library to help process text in isiXhosa for Rust |
|
Experimental |
| 129 |
martinjack/uaddresspacy
🇺🇦 UAddresspacy | Spacy разборка украинского адреса на типы |
|
Experimental |
| 130 |
allenai/rustberta-snli
🦀 A Rust implementation of a RoBERTa classification model for the SNLI dataset |
|
Experimental |
| 131 |
Fosslim/fosslim
Free Open Source Software LIcense Matcher |
|
Experimental |
| 132 |
Luis-Varona/shadowseek
A CLI tool for near-duplicate detection in text files, written in Rust with... |
|
Experimental |
| 133 |
loony-bean/stopwords-rs
Stopwords from popular text processing frameworks |
|
Experimental |
| 134 |
Chubek/upsc3ne
An obscenity detection API in Rust using Custom Implementations |
|
Experimental |
| 135 |
Adityagupta-dev/Indian-Address-Parser
The Indian Address Parser is an advanced Natural Language Processing (NLP)... |
|
Experimental |
| 136 |
jesper-olsen/glove-rs
Rusty GloVe - compute GloVe word embeddings for a text corpus. |
|
Experimental |
| 137 |
dcavar/rust-tutorial-notebooks
Rust tutorials for NLP and AI |
|
Experimental |
| 138 |
chriamue/bert-cli
CLI for rust bert |
|
Experimental |
| 139 |
rads2995/rusty-collocation
Gauss pseudospectral method using Gegenbauer polynomials and Birkhoff interpolants. |
|
Experimental |