Awesome Go

Text Processing

73 libraries in this category

encdec

Package provides a generic interface to encoders and decoders

Text ProcessingParsers/Encoders/Decoders
sh

Shell parser and formatter

Text ProcessingParsers/Encoders/Decoders
tokenizer

Parse any string, slice or infinite buffer to any tokens

Text ProcessingParsers/Encoders/Decoders
genex

Count and expand Regular Expressions into all matching Strings

Text ProcessingRegular Expressions
go-wildcard

Simple and lightweight wildcard pattern matching

Text ProcessingRegular Expressions
goregen

Library for generating random strings from regular expressions

Text ProcessingRegular Expressions
regroup

Match regex expression named groups into go struct using struct tags and automatic parsing

Text ProcessingRegular Expressions
address

Handles address representation, validation and formatting

Text ProcessingFormatters
align

A general purpose application that aligns text

Text ProcessingFormatters
bytes

Formats and parses numeric byte values (10K, 2M, 3G, etc.)

Text ProcessingFormatters
go-fixedwidth

Fixed-width text formatting (encoder/decoder with reflection)

Text ProcessingFormatters
go-humanize

Formatters for time, numbers, and memory size to human readable format

Text ProcessingFormatters
gotabulate

Easily pretty-print your tabular data with Go

Text ProcessingFormatters
sq

Convert data from SQL databases or document formats like CSV or Excel into formats such as JSON, Excel, CSV, HTML, Markdown, XML, and YAML

Text ProcessingFormatters
textwrap

Wraps text at end of lines. Implementation of `textwrap` module from Python

Text ProcessingFormatters
bafi

Universal JSON, BSON, YAML, XML translator to ANY format using templates

Text ProcessingMarkup Languages
bbConvert

Converts bbCode to HTML that allows you to add support for custom bbCode tags

Text ProcessingMarkup Languages
blackfriday

Markdown processor in Go

Text ProcessingMarkup Languages
go-output-format

Output go structures into multiple formats (YAML/JSON/etc) in your command line app

Text ProcessingMarkup Languages
go-toml

Go library for the TOML format with query support and handy cli tools

Text ProcessingMarkup Languages
goldmark

A Markdown parser written in Go. Easy to extend, standard (CommonMark) compliant, well structured

Text ProcessingMarkup Languages
goq

Declarative unmarshalling of HTML using struct tags with jQuery syntax (uses GoQuery)

Text ProcessingMarkup Languages
html-to-markdown

Convert HTML to Markdown. Even works with entire websites and can be extended through rules

Text ProcessingMarkup Languages
htmlquery

An XPath query package for HTML, lets you extract data or evaluate from HTML documents by an XPath expression

Text ProcessingMarkup Languages
htmlyaml

Rich rendering of YAML as HTML in Go

Text ProcessingMarkup Languages
htree

Traverse, navigate, filter, and otherwise process trees of [html.Node](https://pkg.go.dev/golang.org/x/net/html#Node) objects

Text ProcessingMarkup Languages
mxj

Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages

Text ProcessingMarkup Languages
toml

TOML configuration format (encoder/decoder with reflection)

Text ProcessingMarkup Languages
allot

Placeholder and wildcard text parsing for CLI tools and bots

Text ProcessingParsers/Encoders/Decoders
codetree

Parses indented code (python, pixy, scarlet, etc.) and returns a tree structure

Text ProcessingParsers/Encoders/Decoders
commonregex

A collection of common regular expressions for Go

Text ProcessingParsers/Encoders/Decoders
did

DID (Decentralized Identifiers) Parser and Stringer in Go

Text ProcessingParsers/Encoders/Decoders
doi

Document object identifier (doi) parser in Go

Text ProcessingParsers/Encoders/Decoders
editorconfig-core-go

Editorconfig file parser and manipulator for Go

Text ProcessingParsers/Encoders/Decoders
go-fasttld

High performance effective top level domains (eTLD) extraction module

Text ProcessingParsers/Encoders/Decoders
go-nmea

NMEA parser library for the Go language

Text ProcessingParsers/Encoders/Decoders
go-querystring

Go library for encoding structs into URL query parameters

Text ProcessingParsers/Encoders/Decoders
go-vcard

Parse and format vCard

Text ProcessingParsers/Encoders/Decoders
godump

Pretty print any GO variable with ease, an alternative to Go's `fmt.Printf("%#v")`

Text ProcessingParsers/Encoders/Decoders
godump (goforj)

Pretty-print Go structs with Laravel/Symfony-style dumps, full type info, colorized CLI output, cycle detection, and private field access

Text ProcessingParsers/Encoders/Decoders
gofeed

Parse RSS and Atom feeds in Go

Text ProcessingParsers/Encoders/Decoders
gographviz

Parses the Graphviz DOT language

Text ProcessingParsers/Encoders/Decoders
gonameparts

Parses human names into individual name parts

Text ProcessingParsers/Encoders/Decoders
ltsv

High performance [LTSV (Labeled Tab Separated Value)](http://ltsv.org/) reader for Go

Text ProcessingParsers/Encoders/Decoders
normalize

Sanitize, normalize and compare fuzzy text

Text ProcessingParsers/Encoders/Decoders
parseargs-go

string argument parser that understands quotes and backslashes

Text ProcessingParsers/Encoders/Decoders
prattle

Scan and parse LL(1) grammars simply and efficiently

Text ProcessingParsers/Encoders/Decoders
vdf

A Lexer and Parser for Valves Data Format (known as vdf) written in Go

Text ProcessingParsers/Encoders/Decoders
when

Natural EN and RU language date/time parser with pluggable rules

Text ProcessingParsers/Encoders/Decoders
xj2go

Convert xml or json to go struct

Text ProcessingParsers/Encoders/Decoders
coregex

Production regex engine with Rust regex-crate architecture: multi-engine DFA/NFA, SIMD prefilters, drop-in stdlib replacement

Text ProcessingRegular Expressions
rex

Regular expressions builder

Text ProcessingRegular Expressions
bluemonday

HTML Sanitizer

Text ProcessingSanitation
gofuckyourself

A sanitization-based swear filter for Go

Text ProcessingSanitation
colly

Fast and Elegant Scraping Framework for Gophers

Text ProcessingScrapers
dataflowkit

Web scraping Framework to turn websites into structured data

Text ProcessingScrapers
go-recipe

A package for scraping recipes from websites

Text ProcessingScrapers
go-sitemap-parser

Go language library for parsing Sitemaps

Text ProcessingScrapers
GoQuery

GoQuery brings a syntax and a set of features similar to jQuery to the Go language

Text ProcessingScrapers
pagser

Pagser is a simple, extensible, configurable parse and deserialize html page to struct based on goquery and struct tags for golang crawler

Text ProcessingScrapers
Tagify

Produces a set of tags from given source

Text ProcessingScrapers
walker

Seamlessly fetch paginated data from any source. Simple and high performance API scraping included

Text ProcessingScrapers
xurls

Extract urls from text

Text ProcessingScrapers
podcast

iTunes Compliant and RSS 2.0 Podcast Generator in Golang

Text ProcessingRSS
ahocorasick

High-performance Aho-Corasick multi-pattern string matching with DFA compilation and SIMD prefilter, up to 7 GB/s throughput (part of [coregx](https://github.com/coregx) ecosystem)

Text ProcessingUtility/Miscellaneous
go-runewidth

Functions to get fixed width of the character or string

Text ProcessingUtility/Miscellaneous
kace

Common case conversions covering common initialisms

Text ProcessingUtility/Miscellaneous
lancet

A comprehensive, Lodash-like utility library for Go

Text ProcessingUtility/Miscellaneous
petrovich

Petrovich is the library which inflects Russian names to given grammatical case

Text ProcessingUtility/Miscellaneous
radix

Fast string sorting algorithm

Text ProcessingUtility/Miscellaneous
TySug

Alternative suggestions with respect to keyboard layouts

Text ProcessingUtility/Miscellaneous
uniwidth

High-performance Unicode character width calculation with SWAR optimization, O(1) lookup tables, and ZWJ emoji support

Text ProcessingUtility/Miscellaneous
w2vgrep

A semantic grep tool using word embeddings to find semantically similar matches. For example, searching for "death" will find "dead", "killing", "murder"

Text ProcessingUtility/Miscellaneous