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.

77
Verified
2 PyThaiNLP/nlpo3

Thai natural language processing library in Rust, with Python and Node bindings.

69
Established
3 pemistahl/lingua-rs

The most accurate natural language detection library for Rust, suitable for...

66
Established
4 greyblake/whatlang-rs

Natural language detection library for Rust. Try demo online: https://whatlang.org/

62
Established
5 wikimedia/sentencex

A sentence segmentation library with wide language support optimized for...

61
Established
6 fbilhaut/gline-rs

Inference engine for GLiNER models, in Rust

58
Established
7 quickwit-oss/whichlang

A blazingly fast and lightweight language detection library for Rust

55
Established
8 openvenues/pypostal

Python bindings to libpostal for fast international address parsing/normalization

51
Established
9 jaidevd/numerizer

A Python module to convert natural language numerics into ints and floats.

50
Established
10 messense/fasttext-rs

fastText Rust binding

49
Emerging
11 akshaynagpal/w2n

Convert number words (eg. twenty one) to numeric digits (21)

49
Emerging
12 proycon/analiticcl

an approximate string matching or fuzzy-matching system for spelling...

48
Emerging
13 kensho-technologies/sequence_align

Efficient implementations of Needleman-Wunsch and other sequence alignment...

48
Emerging
14 yohasebe/engtagger

English Part-of-Speech Tagger Library; a Ruby port of Lingua::EN::Tagger

47
Emerging
15 djc/instant-segment

Fast English word segmentation in Rust

46
Emerging
16 openvenues/node-postal

NodeJS bindings to libpostal for fast international address parsing/normalization

46
Emerging
17 minibikini/paasaa

🔤 Natural language detection for Elixir without AI

45
Emerging
18 abitdodgy/words_counted

A Ruby natural language processor.

45
Emerging
19 doppio/word2num

A Python package for converting numbers expressed in natural language to...

44
Emerging
20 ticki/eudex

A blazingly fast phonetic reduction/hashing algorithm.

43
Emerging
21 cadmiumcr/cadmium

Natural Language Processing (NLP) library for Crystal

43
Emerging
22 allo-media/text2num-rs

Parse and convert numbers written in English, Dutch, Spanish, German,...

42
Emerging
23 joshrotenberg/lingua_ex

An Elixir wrapper around the Rust Lingua language detection library.

41
Emerging
24 rth/vtext

Simple NLP in Rust with Python bindings

41
Emerging
25 cmccomb/rust-stop-words

Common stop words in a variety of languages

41
Emerging
26 stellanomia/uroman-rs

A self-contained Rust reimplementation of uroman, a universal romanizer.

39
Emerging
27 cpcdoy/rust-sbert

Rust port of sentence-transformers (https://github.com/UKPLab/sentence-transformers)

39
Emerging
28 shnewto/ttaw

a piecemeal natural language processing library

38
Emerging
29 MicheleYin/misaki-rs

Rust port of Misaki

38
Emerging
30 bravo1goingdark/ucfp

UCFP is a high-performance, multimodal content fingerprinting framework...

35
Emerging
31 snipsco/snips-nlu-parsers

Rust crate for entity parsing

35
Emerging
32 victoryosiobe/kingchop

Kingchop ⚔️ is a JavaScript English based library for tokenizing text...

34
Emerging
33 rodaine/numwords

Go package to convert natural language strings to numbers

34
Emerging
34 eklem/words-n-numbers

Tokenizing strings of text. Regex extracting arrays of words and optionally...

34
Emerging
35 kampersanda/tongrams-rs

Rust library providing fast language model queries in compressed space

33
Emerging
36 gjtorikian/what_you_say

Natural language detection library. Written in Rust, wrapped in Ruby.

33
Emerging
37 Lips7/Matcher

A high-performance matcher designed to solve LOGICAL and TEXT VARIATIONS...

33
Emerging
38 zxc7563598/php-address-parser

收货地址智能解析工具,支持从非结构化文本中提取姓名、手机号、身份证号、省市区、详细地址等字段,适用于电商、物流、CRM 等系统 | An...

33
Emerging
39 famished-tiger/Rley

An Earley parser written in Ruby

33
Emerging
40 vgel/treebender

A HDPSG-inspired symbolic natural language parser written in Rust

32
Emerging
41 rwalk/gsdmm-rust

GSDMM: Short text clustering (Rust implementation)

32
Emerging
42 mladvladimir/rust-sentence-transformers

Rust port of https://github.com/UKPLab/sentence-transformers

32
Emerging
43 proycon/lingua-cli

Very small simple command-line interface for language detection using lingua-rs

31
Emerging
44 amokan/human_name

Elixir bindings for the human-name crate implemented as a safe Rust NIF

31
Emerging
45 arbox/wlapi

Ruby based API for the project Wortschatz Leipzig.

31
Emerging
46 dominictarro/semchunk-rs

A fast and lightweight Rust library for splitting text into semantically...

31
Emerging
47 unfoldingWord/string-punctuation-tokenizer

Small library that provides functions to tokenize a string into an array of...

31
Emerging
48 omarmhaimdat/whatlang-pyo3

Python Binding for Rust WhatLang, a language detection library

30
Emerging
49 sebpuetz/lumberjack

Read and modify constituency trees in Rust.

30
Emerging
50 ErcinDedeoglu/Postalized

The ultimate address parsing tool. Effortlessly parse and expand postal data...

29
Experimental
51 victor-iyi/sage

Software stack powering Project: "Enhancing Human Intelligence"

29
Experimental
52 jacksonllee/rustling

A blazingly fast library for computational linguistics

29
Experimental
53 dluman/rusTy

Rust bindings for the spaCy library.

28
Experimental
54 proycon/folia-rust

FoLiA library for rust (alpha)

28
Experimental
55 annotation/stam-rust

Programming library for the Standoff Text Annotation Model (STAM), written...

28
Experimental
56 RapidappsIT/uaddress

🇺🇦 UAddress | NLP Парсер украинских адресов

28
Experimental
57 stellanomia/haqumei

A Japanese Grapheme-to-Phoneme (G2P) library.

27
Experimental
58 kimryan/StreetAddressParser

extract components of a street address from free format text

27
Experimental
59 VastSea0/huma-lang

A high-performance, Turkish-syntax programming language built in Rust —...

26
Experimental
60 Tiphereth-A/tdector

A lingustics tool: mark words & find similar sentences

26
Experimental
61 fbilhaut/gliclass-rs

GLiClass inferences in Rust

26
Experimental
62 sjmielke/ptb-reader-rust

Simple parsing of the merged Penn Treebank format.

26
Experimental
63 dhchenx/rsnltk

Rust-based Natural Language Toolkit using Python Bindings

26
Experimental
64 antononcube/Raku-Lingua-NumericWordForms

Raku functions that generate, parse, and interpret numeric word forms in...

26
Experimental
65 stdlib-js/nlp-tokenize

Tokenize a string.

25
Experimental
66 amake/srx-ruby

An SRX segmenting engine for Ruby

25
Experimental
67 holbewoner/yn.rs

Natural language processing library for yes or no values written in Rust

25
Experimental
68 cgbur/croppy

Batch auto-crop tool for scanned film negatives in Lightroom

24
Experimental
69 justi/price_scanner

Battle-tested multi-currency price extraction from text. Supports PLN, EUR,...

24
Experimental
70 monorkin/witty

wit.ai client library for Rust

24
Experimental
71 despawnerer/truecase

Restore correct letter casings in arbitrary text using a statistical model

24
Experimental
72 ZJaume/heliport

Fast and accurate language identifier

23
Experimental
73 Yuzufi/word-freq-statistic

盲分词的高性能中文语料词频统计工具:1分钟内统计10亿字语料的2字词!

23
Experimental
74 uetchy/homebrew-nlp

🍺 a Homebrew keg that specialized in Natural Language Processing.

23
Experimental
75 ashvardanian/HashEvals

Minimalistic Rust toolkit for hash function quality analysis. Tests...

23
Experimental
76 chrovis/parattice

Recursive paraphrase lattice generator

23
Experimental
77 alordash/parse-word-to-number

Extracts numbers written as words from string.

23
Experimental
78 Krokochik/polyphon

Rust implementation of phonetic Polyphon algorithm

23
Experimental
79 olliverc1985/AXIOM

Lightweight Rust ML framework for training and deploying small transformer...

23
Experimental
80 KhalMorty/eld

🚛 ELD Toolkit for WASM frameworks.

23
Experimental
81 Flight-School/sentences

A command-line utility that splits natural language text into sentences.

23
Experimental
82 mrseanryan/in_definite

:a: Rust port of 'npm indefinite' for deciding which indefinite article to...

23
Experimental
83 ademakdogan/hyperfuzz

Blazing-fast string similarity library written in Rust with Python bindings....

22
Experimental
84 arclabs561/phrasegen

Phrase generation and extraction

22
Experimental
85 Mango-Cats/tagabaybay

Orthographic nativization for Filipino loanwords.

22
Experimental
86 arclabs561/textprep

Text preprocessing primitives: normalization, tokenization, and fast keyword...

22
Experimental
87 arclabs561/gramdex

k-gram / trigram indexing primitives for approximate string matching.

22
Experimental
88 russianwordnet/yarn

Yet Another RussNet

22
Experimental
89 abitdodgy/gibran

Gibran is an Elixir natural language processor, and a port of WordsCounted.

22
Experimental
90 niclaslind/shorelark

Rust + NLP + WASM

22
Experimental
91 antononcube/Raku-Lingua-StopwordsISO

Raku package for stop words of different languages and stop words deletion....

22
Experimental
92 joh-ga/RubyCrumbler

A simple Ruby script that contains a GUI desktop application providing...

21
Experimental
93 nathankleyn/ruby-nlp

Various NLP tools for Ruby

21
Experimental
94 patrols/ruby_llm-text

ActiveSupport-style Ruby gem for LLM text operations: summarize, translate,...

21
Experimental
95 Maroon502/ipopt-src

Build and Link Coin-OR Ipopt for ALL TARGETS. Redistribution of Coin-OR...

20
Experimental
96 FuturePresentLabs/swarf

Write English. Make chips.

20
Experimental
97 LdDl/langdetect-rs

Language detection in Rust. Port of Mimino666's langdetect.

20
Experimental
98 MeltwaterArchive/ex_lsh

A configurable implementation of locality-sensitive hashing in Elixir

20
Experimental
99 talmago/fast_gliner

Python bindings to Inference engine for GLiNER models written in Rust

19
Experimental
100 annotation/stam-python

Python binding to work with STAM, the Standoff Text Annotation Model, from...

19
Experimental
101 cliftontoaster-reid/wit_owo

A Rust library for the Wit.ai API

19
Experimental
102 joshrotenberg/unimorph-rs

A Rust toolkit for working with UniMorph morphological data

19
Experimental
103 7086cmd/iris

A universal code translator based on intermediate representations.

18
Experimental
104 messense/bosonnlp-rs

BosonNLP SDK for Rust

18
Experimental
105 raphaellaude/us-addrs

Rust implementation of usaddress, package for parsing unstructured US...

17
Experimental
106 frankier/opus-parse

This Rust library can parse OPUS's monolingual XML files.

16
Experimental
107 Lambda-Logan/creature_feature

Composable n-gram combinators that are ergonomic and bare-metal fast

16
Experimental
108 Miezhiko/Kathoey

Rust library for text feminization using open corpus linguistics data

16
Experimental
109 Aljutor/yurki

Fast NLP tools for Python

16
Experimental
110 VitalinaZlo/VolgaIT-2024_AI

Проект направлен на разработку алгоритма для автоматического распознавания...

16
Experimental
111 roloza7/sstn

Super Simple Text Normalizer in Rust with SIMD for x86

15
Experimental
112 TangoJP/rust_vectorizer

Practice Rust by making Vectorizer

15
Experimental
113 parhamr/nlp-pure

Natural language processing algorithms implemented in pure Ruby with minimal...

15
Experimental
114 gembleman/bareun_rs

bareun-rs is an unofficial Rust library for Bareun, a Korean morphological analyzer.

15
Experimental
115 Bbeierle12/Word-Slush

Word frequency analyzer for Claude conversation exports

14
Experimental
116 eliangonde/langid

Rust implementation of the langid library for language identification....

14
Experimental
117 GarthTB/word-freq-statistic

盲分词的高性能中文语料词频统计工具:1分钟内统计10亿字语料的2字词!

14
Experimental
118 scurkovic/cutters

A rule based sentence segmentation library.

14
Experimental
119 GarthTB/WordFreqCounter

盲分词的中文语料词频统计器

13
Experimental
120 pymorphy2-fork/morphrs-py

Experimental morph-rs bindings for Python.

13
Experimental
121 yuanzhoulvpi2017/Rust4SenVec

convert sentence to vector by nlp transformers model in Rust

13
Experimental
122 sigrlami/lanhunch

Language Detection Library

13
Experimental
123 shubham0204/postagger.rs

NLTK inspired Parts-of-Speech Tagger (Perceptron Tagger) in Rust

13
Experimental
124 lloydmeta/sloword2vec-rs

A naive (read: slow) implementation of Word2Vec. Uses BLAS behind the scenes...

13
Experimental
125 proycon/lexmatch

Simple lexicon matcher against a text

13
Experimental
126 xamgore/segtok

A rule-based sentence segmenter (splitter) and a word tokenizer using...

13
Experimental
127 HectorPulido/human-language-toolkit-chatbot

nltk like chatbot in rust

13
Experimental
128 IsiXhosa-click/isixhosa

A library to help process text in isiXhosa for Rust

13
Experimental
129 martinjack/uaddresspacy

🇺🇦 UAddresspacy | Spacy разборка украинского адреса на типы

12
Experimental
130 allenai/rustberta-snli

🦀 A Rust implementation of a RoBERTa classification model for the SNLI dataset

12
Experimental
131 Fosslim/fosslim

Free Open Source Software LIcense Matcher

12
Experimental
132 Luis-Varona/shadowseek

A CLI tool for near-duplicate detection in text files, written in Rust with...

12
Experimental
133 loony-bean/stopwords-rs

Stopwords from popular text processing frameworks

12
Experimental
134 Chubek/upsc3ne

An obscenity detection API in Rust using Custom Implementations

11
Experimental
135 Adityagupta-dev/Indian-Address-Parser

The Indian Address Parser is an advanced Natural Language Processing (NLP)...

11
Experimental
136 jesper-olsen/glove-rs

Rusty GloVe - compute GloVe word embeddings for a text corpus.

11
Experimental
137 dcavar/rust-tutorial-notebooks

Rust tutorials for NLP and AI

10
Experimental
138 chriamue/bert-cli

CLI for rust bert

10
Experimental
139 rads2995/rusty-collocation

Gauss pseudospectral method using Gegenbauer polynomials and Birkhoff interpolants.

10
Experimental