Dev tools · alternatives · 2026
24 alternatives to XID – Dependency-Free Unique ID Generator in One C File
XID generates 20-character globally unique IDs (48-bit timestamp + 64-bit entropy + 8-bit counter + 5-bit checksum) in a single C file with zero dependencies. Features built-in timestamp extraction, collision resistance, and portable design for any platform - ideal for databases, IoT, and distributed systems. char id = xid_generate(); // => "01H5Z7K4W9A3B6C8D0F2G" Gists: https://gist.github.com/Ferki-git-creator/17450d52d143f746f0... (Feedback wanted: entropy improvements, embedded use cases, optimizations)*
Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes.
- 1

😊 Generate cute UIDs. Contribute to alexandriax/cuteuid development by creating an account on GitHub.
2019 · github.com · its alternatives →
- 2

A small, portable, linear probing hash map. Contribute to e-dant/salmagundi development by creating an account on GitHub.
2024 · github.com · its alternatives →
- 3

Long-simmering side project that is finally ready to see the light. HAMTs are a cool persistent data structure and implementing one has been a lot of fun. Beyond the code, there is likely some value in the extensive and largely complete implementation docs; basic benchmarks are linked in the README, too. Kind of aiming to be "the libavl for HAMTs". That is obviously a high and aspirational bar but a distinct possibility if it stirs up a little interest and/or contribution. Anyways, it's time for this to go out, collect feedback and maybe even some use outside of toy projects. Let me…
2023 · github.com · its alternatives →
- 4

🃏 A distributed unique ID generator inspired by Twitter's Snowflake. - bahlo/sonyflake-rs
2020 · github.com · its alternatives →
- 5

Timeflake is a 128-bit, roughly-ordered, URL-safe UUID. - anthonynsimon/timeflake
2021 · github.com · its alternatives →
- 6MP
I have been working on this game somewhat sparsely for the past three years or so. However, it is still in a very early stage, and there is a lot of work to do. One of my friends encouraged me to post about it here, since he felt people might find interesting how I don’t use any libraries for it. The game can be played on a browser by virtue of WebAssembly. There are native ports using either MiniFB or SDL2, but you have to build those yourself. I decided to write the game in C because I feel like it is a simple language that a lot of people can understand well enough, and I didn’t think I…
2023 · zamfofex.neocities.org · its alternatives →
- 7

Decentralized, k-ordered unique IDs in Clojure. Contribute to maxcountryman/flake development by creating an account on GitHub.
2014 · github.com · its alternatives →
- 8

Repo: https://github.com/valdanylchuk/xcc700 Hi Everyone! I just wrote my first compiler! - single pass, recursive descent, direct emission - generates REL ELF binaries, runnable using ESP-IDF elf_loader - very basic features only, just enough for self-hosting - treats the Xtensa CPU as a stack machine for simplicity, no register allocation / window usage - compilable on Mac, probably also Linux, can cross-compile for esp32 there - wrote for fun / cyberdeck project Sample output from esp32: xcc700.elf xcc700.c -o /d/cc.elf [ xcc700 ] BUILD COMPLETED >…
Dec 2025 · github.com · its alternatives →
- 9

This project presents a new data structure for storing ordered integer maps. The proposed data structure is a compressive, cache-friendly, radix tree that has performance comparable to an unordered map (`std::unordered_map`) and is an order of magnitude faster than an ordered map (`std::map`).
2024 · github.com · its alternatives →
- 10BA
2020 · base32h.github.io · its alternatives →
- 11

A simple way to write standalone C programs for i386 - luke8086/boot2c
2019 · github.com · its alternatives →
- 12

Meta programming utilities for C++14. Merged in matt-42/lithium - matt-42/iod
2014 · github.com · its alternatives →
- 13

LoopMix128 is a fast C PRNG I wrote for non-cryptographic tasks. GitHub (MIT): https://github.com/danielcota/LoopMix128 Highlights: * ~0.37 ns/value (GCC 11.4, -O3 -march=native), 98% faster than xoroshiro128++ and PCG64. * Passes TestU01 BigCrush & PractRand (32TB). * Guaranteed 2^128 period. * Proven injective (192-bit state) via Z3 SMT solver; allows parallel streams. * Core requires only stdint.h. Seeking feedback on design, use cases, or further testing.
2025 · github.com · its alternatives →
- 14

Sharing my project inspired by twitter snowflake UUID generator but that supports: 1) Longer range of id's to be generated. 2) No coordination with other machines in the distributed system.
2022 · github.com · its alternatives →
- 15

Hey y’all! About 7 years ago, I had this idea to write a JIT with an autogenerated backend for x86 based on the ISA specs. I sketched something out and then just kinda let it sit. I picked it up again a few weeks ago and made a complete-ish backend for both x86 and ARM64. It has no dependencies, the backends are completely autogenerated (by horrible, horrible JS scripts), and I built a small abstraciton layer for things like functions prologues etc. It’s super duper early and will probably break on your machine, but it’s good enough to compile some cool examples (look at the examples…
Nov 2025 · github.com · its alternatives →
- 16

2025 · gist.github.com · its alternatives →
- 17

I couldn't find a database that was immutable (like Datomic) and embedded (like SQLite), so I made one. The reference impl is in Zig and there are now ports for Java, Clojure, TypeScript, and Go.
Apr 2026 · github.com · its alternatives →
- 18

Programmer chronicles.
2020 · kuon.ch · its alternatives →
- 19

I kept reaching for Hashids/Sqids to keep sequential IDs out of URLs, but they don't use a real key — the alphabet is shuffled by a salt, and the Sqids FAQ says outright "there is no encryption of any kind." arxid is a keyed reversible permutation instead: a balanced Feistel network with an ARX (add-rotate-xor) round function over a 40-bit domain, mapping to a 7-char base62 code. Feed it an integer, get an unpredictable code back; same key reverses it. Runs ~16x faster than a structurally identical Feistel using HMAC-SHA256, because the round function is integer ops instead of a hash…
Aug 2026 · github.com · its alternatives →
- 20IB
This weekend I created stacklib.h - a single-header library that brings Forth-style stack operations to C. It implements a basic interpreter with: - Stack operations (push/pop/dup/swap/over/drop) - Arithmetic (+, -, *, /) - Output (., emit, cr) - Stack inspection (.s, depth) Example usage: Stack s; stack_init(&s); dict_init(); exec(&s, "10 20 + ."); // Prints "30" exec(&s, "1 2 3 4 .s"); // Shows stack contents The library is self-contained, requires no dependencies, and handles basic error checking. It was inspired by wanting to understand…
2025 · its alternatives →
- 21

A generator library for concise, unambiguous and URL-safe UUIDs - lithammer/shortuuid
2015 · github.com · its alternatives →
- 22

Meta programming utilities for C++14. Merged in matt-42/lithium - matt-42/iod
2014 · github.com · its alternatives →
- 23

I wrote a lightweight scripting language that runs together with C. Specifically, it's a C library, you run it through a C function call, and it can callback your own C functions. Compiles to ~250 kB. No dependencies beyond the C standard library. Key language features: * Uses aliases not pointers, so it's memory-safe * Arrays are N-dimensional and resizable * Runs scripts or its own 'shell' * Error trapping * Methods, inheritance, etc. * Customizable syntax
Jan 2026 · github.com · its alternatives →
- 24

This C library is part of a main project aimed at providing a reactive key-value (KV) database. The data is typed (numbers, strings, dates, or booleans) and can include formulas with references to other entries. Clients connected to this database receive a real-time data stream with updates to the subscribed keys, allowing them to react to changes and their dependencies. Essentially, it’s like building a distributed Excel, where data and formulas dynamically update across the system. I couldn’t find any libraries that offered the full set of features I needed for evaluating expressions, so I…
2024 · github.com · its alternatives →
Also compare
- CuteUID – Generate Cute UIDs alternatives
- A portable hash map in C alternatives
- A hash array-mapped trie implementation in C alternatives
- Sonyflake – distributed unique ID generator implemented in Rust alternatives
- 128-bit, roughly-ordered, URL-safe UUIDs alternatives
- My platforming game written in C 89 alternatives
Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →