String

Top 23 String Open-Source Projects

  1. javascript-obfuscator

    A powerful obfuscator for JavaScript and Node.js

    Project mention: Material Theme has been pulled from VS Code's marketplace | news.ycombinator.com | 2025-02-25
  2. SurveyJS

    JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor. Keep full control over the data you collect and tailor the form builder’s entire look and feel to your users’ needs. SurveyJS works with React, Angular, Vue 3, and is compatible with any backend or auth system. Learn more.

    SurveyJS logo
  3. query-string

    Parse and stringify URL query strings

  4. URI.js

    Javascript URL mutation library

  5. voca

    The ultimate JavaScript string library

  6. he

    A robust HTML entity encoder/decoder written in JavaScript.

  7. underscore.string

    String manipulation helpers for javascript

  8. StringZilla

    Up to 10x faster strings for C, C++, Python, Rust, Swift & Go, leveraging NEON, AVX2, AVX-512, SVE, & SWAR to accelerate search, hashing, sort, edit distances, and memory ops 🦖

    Project mention: Show HN: CXXStateTree – A modern C++ library for hierarchical state machines | news.ycombinator.com | 2025-07-06

    You'll see a fairly even split amongst S-tier, "possibly headed for standardization" level libraries. I'd say there's a skew for `#ifndef` in projects that are more "aspires to the standard library" and for `#pragma once` in projects that are more focused on like a very specific vertical.

    `#pragma once` seems to be far preferred for internal code, there's an argument for being strictly conforming if you're putting out a library. I've converted stuff to `#ifndef` before sharing it, but I think heavy C++ people usually type `#pragma once` in the privacy of their own little repository.

    - `spdlog`: `#pragma once` https://github.com/gabime/spdlog/blob/v1.x/include/spdlog/as...

    - `absl`: `#ifndef` https://github.com/abseil/abseil-cpp/blob/master/absl/base/a...

    - `zpp_bits`: `#ifndef` https://github.com/eyalz800/zpp_bits/blob/main/zpp_bits.h

    - `stringzilla` `#ifndef` https://github.com/ashvardanian/StringZilla/blob/main/includ...

  9. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  10. goutil

    💪 Helper Utils(800+): int, byte, string, array/slice, map, struct, dump, convert/format, error, web/http, cli/flag, OS/ENV, filesystem, system, test/assert, time and more. Go 常用的工具函数:数字,字符串,数组,Map,结构体,反射,文本,文件,错误,时间日期,特殊处理,格式化,常用信息获取等等

  11. sprintf.js

    sprintf.js is a complete open source JavaScript sprintf implementation

  12. string.js

    Extra JavaScript string methods.

  13. string

    Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way (by symfony)

  14. xorstr

    heavily vectorized c++17 compile time string encryption.

  15. Obfuscate

    Guaranteed compile-time string literal obfuscation header-only library for C++14 (by adamyaxley)

  16. rust-memchr

    Optimized string search routines for Rust.

    Project mention: SIMD-friendly algorithms for substring searching | news.ycombinator.com | 2025-06-14

    The "AVX2 (generic)" approach is roughly what ripgrep uses (via Rust's `regex` crate) to accelerate most searches. Even something like `\w+\s+Sherlock\s+\w+` will benefit since ripgrep will pluck `Sherlock` out of the regex and search that.

    The actual implementation is here: https://github.com/BurntSushi/memchr?tab=readme-ov-file#algo...

    The main difference with the algorithm presented here is that instead of always using the first and last bytes of the needle, a heuristic is used to try to pick two bytes that occur less frequently according to a background frequency distribution.

    It ends up being quite a bit faster than just plain Two-Way or even GNU libc's implementation of `memmem`. From the root of the `memchr` repository:

        $ rebar rank benchmarks/record/x86_64/2023-12-29.csv -e '^rust/memchr/memmem/(oneshot|prebuilt|twoway)' -e '^libc/memmem/oneshot'

  17. sttr

    cross-platform, cli app to perform various operations on string

  18. python-string-similarity

    A library implementing different string similarity and distance measures using Python.

  19. mlib

    Library of generic and type safe containers in pure C language (C99 or C11) for a wide collection of container (comparable to the C++ STL).

  20. lyricist

    🌎 The missing I18N/L10N (internationalization/localization) multiplatform library for Compose Multiplatform!

  21. compact_str

    A memory efficient string type that can store up to 24* bytes on the stack

    Project mention: Small Strings in Rust: smolstr vs. smartstring | news.ycombinator.com | 2024-08-24

    On the note of small strings, Compact String[1] was i believed released after this article and has a nifty trick. Where Smol and Smart can fit 22 and 23 bytes, CompactStr can fit 24! Which is kinda nutty imo, that's the full size of the normal String on the stack.. but packed with actual string data.

    There's a nice explanation on their readme[2]. Love tricks like this.

    [1]: https://github.com/ParkMyCar/compact_str

  22. url-pattern

    easier than regex string matching patterns for urls and other strings. turn strings into data or data into strings.

  23. Portable ASCII

    🔡 Portable ASCII library - performance optimized (ascii) string functions for PHP.

  24. jsurl

    Lightweight URL manipulation with JavaScript

  25. tiny-utf8

    Unicode (UTF-8) capable std::string

  26. Stream

    Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.

    Stream logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

String discussion

Log in or Post with

String related posts

  • SIMD-friendly algorithms for substring searching

    6 projects | news.ycombinator.com | 14 Jun 2025
  • Tell HN: I forked and republished a popular, abandoned Python library

    5 projects | news.ycombinator.com | 27 Mar 2025
  • How to Encrypt JavaScript Code for Web Security

    3 projects | dev.to | 25 Oct 2024
  • Small Strings in Rust: smolstr vs. smartstring

    4 projects | news.ycombinator.com | 24 Aug 2024
  • Go structs are copied on assignment (and other things about Go I'd missed)

    4 projects | news.ycombinator.com | 11 Aug 2024
  • Tolower() with AVX-512

    5 projects | news.ycombinator.com | 28 Jul 2024
  • Using SIMD for Parallel Processing in Rust

    6 projects | news.ycombinator.com | 1 Jul 2024
  • A note from our sponsor - SurveyJS
    surveyjs.io | 18 Jul 2025
    Keep full control over the data you collect and tailor the form builder’s entire look and feel to your users’ needs. SurveyJS works with React, Angular, Vue 3, and is compatible with any backend or auth system. Learn more. Learn more →

Index

What are some of the best open-source String projects? This list will help you:

# Project Stars
1 javascript-obfuscator 14,917
2 query-string 6,866
3 URI.js 6,256
4 voca 3,616
5 he 3,508
6 underscore.string 3,370
7 StringZilla 2,617
8 goutil 2,224
9 sprintf.js 2,126
10 string.js 1,810
11 string 1,767
12 xorstr 1,306
13 Obfuscate 1,186
14 rust-memchr 1,153
15 sttr 1,141
16 python-string-similarity 1,008
17 mlib 1,009
18 lyricist 752
19 compact_str 746
20 url-pattern 587
21 Portable ASCII 563
22 jsurl 552
23 tiny-utf8 551

Sponsored
JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor
Keep full control over the data you collect and tailor the form builder’s entire look and feel to your users’ needs. SurveyJS works with React, Angular, Vue 3, and is compatible with any backend or auth system. Learn more.
surveyjs.io

Did you know that JavaScript is
the 3rd most popular programming language
based on number of references?