FreeOid
The story

About FreeOid

A small website that gives away numbers, and the seven-year story of how it got here.

What is an OID?

An Object Identifier is a globally unique number used to label things in protocols and standards. They look like 1.3.6.1.4.1.54392.5.42 — a sequence of integers separated by dots — and they form a hierarchical tree. You'll find them in SNMP MIBs, X.509 certificate extensions, LDAP schemas, ASN.1 modules, and a thousand other places. Each level of an OID is delegated by whoever owns the level above it; if I give you 1.3.6.1.4.1.54392.5.42, you own everything below.

The bureaucratic problem

The official way to obtain an OID is to register with a delegating authority — IANA, an ISO national member body, or one of their proxies. That involves forms, identity, and waiting. The unofficial alternative is to lift a UUID and treat it as an OID, which produces obnoxiously large numbers like 2.25.329800735698586629295641978511506172918 that are useless for delegation in practice.

Both options seemed wildly disproportionate to the actual cost of an OID, which is: zero. They're just numbers. Nothing breaks if I hand them out. Nothing breaks if a hundred people get one before lunch. The pool is infinite.

Version 1 — August 2019

So in August 2019 I registered an IANA Private Enterprise Number for WaterJuice — 1.3.6.1.4.1.54392 — picked the sub-branch .5 for FreeOid, and put up a website with a single button. Press it, get the next number. No login, no email, no questions. The whole thing was Python on the Bottle micro-framework, hosted on PythonAnywhere's free tier. State was a JSON file with a counter.

Version 2 — also August 2019

The first cut was functional but ugly — a blank page with one button. Three days later I dropped Materialize, a Material Design CSS framework, on top of it. Same Python, same counter, friendlier face. That version then ran for six years without me touching it.

Version 3 — 2026 (this one)

PythonAnywhere eventually retired the free tier instance and the old site went offline. Rather than restore the Python service unchanged, I rewrote it from scratch in Go. Single static binary, no runtime dependencies, no CSS framework. The UI you're looking at right now is hand-rolled HTML and CSS embedded in the binary — no Materialize, no Bootstrap, no fonts pulled from a CDN.

The only things carried forward from V1 and V2 are the IANA branch 1.3.6.1.4.1.54392.5 and the running counter — both deliberately, so every OID ever issued by FreeOid in the past stays unique against everything issued in the future.

If you got an OID years ago

It's still yours. The number is still globally unique, still hierarchically yours to delegate however you like, and still rooted in the same IANA-registered branch. Nothing about the change of host, change of stack, or change of decade affects that.

Get a free OID