Awesome Go

Text Processing

77 libraries in this category

colly

Fast and Elegant Scraping Framework for Gophers

25,551Text ProcessingScrapers
GoQuery

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

14,988Text ProcessingScrapers
sh

Shell parser and formatter

9,130Text ProcessingParsers/Encoders/Decoders
blackfriday

Markdown processor in Go

5,595Text ProcessingMarkup Languages
lancet

A comprehensive, Lodash-like utility library for Go

5,296Text ProcessingUtility/Miscellaneous
goldmark

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

5,058Text ProcessingMarkup Languages
toml

TOML configuration format (encoder/decoder with reflection)

5,022Text ProcessingMarkup Languages
go-humanize

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

4,839Text ProcessingFormatters
html-to-markdown

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

3,833Text ProcessingMarkup Languages
bluemonday

HTML Sanitizer

3,726Text ProcessingSanitation
gofeed

Parse RSS and Atom feeds in Go

2,877Text ProcessingParsers/Encoders/Decoders
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

2,573Text ProcessingFormatters
go-querystring

Go library for encoding structs into URL query parameters

2,144Text ProcessingParsers/Encoders/Decoders
go-toml

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

1,995Text ProcessingMarkup Languages
godump (goforj)

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

1,768Text ProcessingParsers/Encoders/Decoders
when

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

1,463Text ProcessingParsers/Encoders/Decoders
xurls

Extract urls from text

1,266Text ProcessingScrapers
w2vgrep

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

1,251Text ProcessingUtility/Miscellaneous
commonregex

A collection of common regular expressions for Go

893Text ProcessingParsers/Encoders/Decoders
htmlquery

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

784Text ProcessingMarkup Languages
go-runewidth

Functions to get fixed width of the character or string

723Text ProcessingUtility/Miscellaneous
dataflowkit

Web scraping Framework to turn websites into structured data

713Text ProcessingScrapers
mxj

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

627Text ProcessingMarkup Languages
bytes

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

596Text ProcessingFormatters
gographviz

Parses the Graphviz DOT language

565Text ProcessingParsers/Encoders/Decoders
gotabulate

Easily pretty-print your tabular data with Go

336Text ProcessingFormatters
goq

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

269Text ProcessingMarkup Languages
coregex

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

268Text ProcessingRegular Expressions
go-nmea

NMEA parser library for the Go language

266Text ProcessingParsers/Encoders/Decoders
godump

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

223Text ProcessingParsers/Encoders/Decoders
rex

Regular expressions builder

213Text ProcessingRegular Expressions
radix

Fast string sorting algorithm

196Text ProcessingUtility/Miscellaneous
editorconfig-core-go

Editorconfig file parser and manipulator for Go

156Text ProcessingParsers/Encoders/Decoders
regroup

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

150Text ProcessingRegular Expressions
markdown

Markdown builder that generates GitHub Flavored Markdown and mermaid diagrams through method chaining

144Text ProcessingMarkup Languages
tokenizer

Parse any string, slice or infinite buffer to any tokens

142Text ProcessingParsers/Encoders/Decoders
podcast

iTunes Compliant and RSS 2.0 Podcast Generator in Golang

140Text ProcessingRSS
go-vcard

Parse and format vCard

129Text ProcessingParsers/Encoders/Decoders
bafi

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

117Text ProcessingMarkup Languages
pagser

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

112Text ProcessingScrapers
doc-scraper

Web crawler that converts documentation sites to clean Markdown and JSONL for LLM ingestion (RAG, training data)

106Text ProcessingScrapers
go-wildcard

Simple and lightweight wildcard pattern matching

103Text ProcessingRegular Expressions
did

DID (Decentralized Identifiers) Parser and Stringer in Go

94Text ProcessingParsers/Encoders/Decoders
goregen

Library for generating random strings from regular expressions

92Text ProcessingRegular Expressions
go-fixedwidth

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

87Text ProcessingFormatters
picoloom

Markdown-to-PDF converter with CLI and Go library APIs

86Text ProcessingMarkup Languages
address

Handles address representation, validation and formatting

85Text ProcessingFormatters
align

A general purpose application that aligns text

84Text ProcessingFormatters
genex

Count and expand Regular Expressions into all matching Strings

77Text ProcessingRegular Expressions
gofuckyourself

A sanitization-based swear filter for Go

71Text ProcessingSanitation
vdf

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

68Text ProcessingParsers/Encoders/Decoders
allot

Placeholder and wildcard text parsing for CLI tools and bots

60Text ProcessingParsers/Encoders/Decoders
normalize

Sanitize, normalize and compare fuzzy text

53Text ProcessingParsers/Encoders/Decoders
petrovich

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

51Text ProcessingUtility/Miscellaneous
gonameparts

Parses human names into individual name parts

42Text ProcessingParsers/Encoders/Decoders
go-fasttld

High performance effective top level domains (eTLD) extraction module

41Text ProcessingParsers/Encoders/Decoders
Tagify

Produces a set of tags from given source

39Text ProcessingScrapers
xj2go

Convert xml or json to go struct

36Text ProcessingParsers/Encoders/Decoders
go-recipe

A package for scraping recipes from websites

33Text ProcessingScrapers
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)

32Text ProcessingUtility/Miscellaneous
codetree

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

25Text ProcessingParsers/Encoders/Decoders
kace

Common case conversions covering common initialisms

22Text ProcessingUtility/Miscellaneous
mdsmith

fast, auto-fixing Markdown linter and formatter. Checks style, readability, structure, and cross-file integrity

21Text ProcessingMarkup Languages
TySug

Alternative suggestions with respect to keyboard layouts

20Text ProcessingUtility/Miscellaneous
go-output-format

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

18Text ProcessingMarkup Languages
walker

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

15Text ProcessingScrapers
bbConvert

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

11Text ProcessingMarkup Languages
doi

Document object identifier (doi) parser in Go

11Text ProcessingParsers/Encoders/Decoders
parseargs-go

string argument parser that understands quotes and backslashes

11Text ProcessingParsers/Encoders/Decoders
prattle

Scan and parse LL(1) grammars simply and efficiently

10Text ProcessingParsers/Encoders/Decoders
ltsv

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

9Text ProcessingParsers/Encoders/Decoders
go-sitemap-parser

Go language library for parsing Sitemaps

8Text ProcessingScrapers
uniwidth

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

8Text ProcessingUtility/Miscellaneous
textwrap

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

7Text ProcessingFormatters
htmlyaml

Rich rendering of YAML as HTML in Go

6Text ProcessingMarkup Languages
htree

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

5Text ProcessingMarkup Languages
encdec

Package provides a generic interface to encoders and decoders

Text ProcessingParsers/Encoders/Decoders