Skip to main content

Installation

pip3 install text2digits

Usage

Python 3 only!

from text2digits import text2digits
t2d = text2digits.Text2Digits()
t2d.convert("twenty ten and twenty one")
> 2010 and 21

It can handle a variety of phrases. Spoken/Informal and formal language:

"A random string" -> 'A random string'
"I am thirty six years old with a child that is four. I would like to get him four cars!" -> 'I am 36 years old with a child that is 4. I would like to get him 4 cars!'
"I was born in twenty ten" -> 'I was born in 2010'
"I was born in nineteen sixty four" -> 'I was born in 1964'
"I am the fourth cousin" -> 'I am the 4 cousin'
"I am twenty nine" -> 'I am 29'
"it was twenty ten and was negative thirty seven degrees" -> 'it was 2010 and was negative 37 degrees'
"thirty twenty one" -> '3021'
"one thousand six hundred sixty six" -> '1666'
"one thousand and six hundred and sixty six" -> '1666'
"sixteen sixty six" -> '1666'
"eleven hundred twelve" -> '1112'
"Sixteen and seven" -> '16 and 7'
"twenty ten and twenty one" -> '2010 and 21'
"I was born in nineteen ninety two and am twenty six years old!" -> 'I was born in 1992 and am 26 years old!'
"three forty five" -> '345'

I find this useful if using Alexa/Lex to convert audio to text and have to convert the text to digits.

Known Limitations

  • Negative numbers: the word "negative" is preserved as-is rather than being converted to a unary minus (e.g. "negative five""negative 5", not "-5").
  • Ordinal-to-digit conversion is lossy by default: ordinal suffixes are dropped unless add_ordinal_ending=True is passed (e.g. "third""3", not "3rd").

What Is Supported

  • Decimal literals adjacent to scale words: "2.5 thousand""2500", "1.2345 hundred""123.45"
  • Indian number system scales: lakh, crore, arab, kharab
  • Ordinals: first, second, …, twentieth, hundredth, thousandth, …
  • Spelling correction via similarity_threshold parameter
  • Year-style concatenation: "twenty ten""2010"

Acknowledgements

I have heavily used code from the SO answers from here: https://stackoverflow.com/questions/493174/is-there-a-way-to-convert-number-words-to-integers and improved upon them

Release files for text2digits 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for text2digits 0.1.2
File Size Uploaded
text2digits-0.1.2.tar.gz 22.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for text2digits 0.1.2
File Interpreter ABI Platform
text2digits-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 48.5 kB

Release files / text2digits-0.1.2.tar.gz

Download URL text2digits-0.1.2.tar.gz
Size 22.6 kB
Tags Source
SHA-256 checksum
How to use checksums
02053020819cbb30248f3d71a3eb27459f4907d2300c220235bf0fe0749a7ab0
BLAKE2b-256 checksum
How to use checksums
5d418a321db651235ca63795b6c9f9b08f4ff60592779d1e75a29933e7a6b5c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 28, 2026.

Transparency log

Release files / text2digits-0.1.2-py3-none-any.whl

Download URL text2digits-0.1.2-py3-none-any.whl
Size 25.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
49a7d615777d37dec3eef66bd7f23deef55315029bbe71dfb5b4bc3d1d1d6e3c
BLAKE2b-256 checksum
How to use checksums
b1e84abe384d43a4b8d558c79cd32e833afee10a5402799d940b58eb68eead49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

3 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page