AI tools, scored for your job
Get paid to train AI
🤝 You're in the Free & Open Source library — community-built tools you can use without paying. A different concept from our scored AI directory.
Home › Free & Open Source › Writing › prose
✦ Free & open sourceWriting

prose

Pure Go natural language processing library for tokenization and tagging.

Go Natural Language Processing Library

Tokenize, segment, tag, and extract named entities natively in Go without cgo or external services.

Free forever · open source · MIT
✓ Light setup✓ Browser-based✓ Real-time collaboration
6.8
ZEKAI
Essential Go NLP library
Free & open source · Writing
Ease of setup2
Usefulness8
Maintenance9.5
Community7.5
★ 3,093
GITHUB
Nov 2026
UPDATED
MIT
LICENSE
🛠 Don't want to self-host? We can set it up →
⚡ Quick answer

Prose is a pure Go natural language processing library designed for developers building text-processing applications. It provides foundational NLP tasks like tokenization, sentence segmentation, part-of-speech tagging, and named-entity extraction directly inside Go binaries. You should use it if you want zero external runtime dependencies and heavy control over your binary's memory footprint.

Runs on
Cross-platform
Hosting
Desktop
Languages
Go
License
MIT

What it is

It parses text inputs to output token arrays, sentence boundaries, Universal Dependencies POS tags, and named entities with exact byte offsets. It supports 12 languages for tokenization, segmentation, and tagging, while keeping English-only packages for entity extraction and readability metrics. It also includes utility packages for text summarization readability scores and AP or Chicago style case conversion.

Who it's for

It suits Go developers who need embedded NLP pipelines without relying on Python bridges, cgo, or external network APIs. It does not suit teams working in non-Go ecosystems or those needing non-English named entity recognition out of the box.

Key features

Pure Go Tokenization

Processes words and punctuation with exact byte offsets in any language without cgo.

Universal Tagging Models

Averaged perceptron taggers emit Universal Dependencies tag sets across 12 languages.

Modular Import Design

Imports only required language packages and models to minimize binary sizes.

Readability and Casing

Calculates Flesch-Kincaid, Gunning fog, SMOG metrics, and handles title case conversion.

How to start

Up and running in 3 steps

1
Run go get github.com/jdkato/prose/v3 in your Go module directory.
2
Import prose and language-specific subpackages into your main package.
3
Initialize a new document with prose.NewDocument and query tokens, sentences, or entities.
Real talk

Our honest verdict

What's great

  • Operates entirely in pure Go without requiring cgo or external HTTP services.
  • Retains exact byte offsets for every token, sentence, and entity relative to source strings.
  • Modular package structure allows you to link only the specific language models you need.
  • Provides context-aware processing functions for handling long texts safely.

Where it falls short

  • Entity extraction and readability scoring are restricted to English inputs only.
  • Requires writing Go code and managing compiled binaries rather than running as an out-of-the-box service.
  • Language models must be imported explicitly, adding setup steps for multilingual pipelines.
Cost

Pricing & license

Free to use under the MIT license, with no hosted cloud option provided. The only cost is compiling and running it within your own Go applications.

Paid work

Open remote AI-training roles

880 open remote AI-training roles, updated November 15, 2026; most pay $20–$175 an hour. Zekai lists them free; the application goes to the employer’s platform.

See all open roles →
Compare

Alternatives

🎁 Free & open-source alternatives
Get more

Use it, or have us set it up

📄 Free PDF: prose for Writing
A plain-language guide to getting your first result. Sent to your inbox.
🔔 64 people want a full video tutorial — add your vote
🛠 Don't want to set it up yourself?
We'll install, host & configure prose for you — and train your team.
Get it done for you ↗
Questions

FAQ

Does prose require cgo or external servers?

No, it is written entirely in pure Go and executes locally inside your application binary without external services.

Which languages are supported for part-of-speech tagging?

It supports twelve languages including English, Dutch, French, German, Spanish, and Italian using Universal Dependencies tags.

How can I reduce the binary size if I only need POS tags?

You can import the tag package directly instead of the root package to leave out entity recognition models.

Radar

Latest AI news

✉️ The weekly free toolkit
The best new free & open-source tools for Writing — one short email a week, in your language.
Free · 1 email/week · unsubscribe anytime
Get paid to train AI →

See Zekai first in Google