Many input shapes
Strings, arrays, JSON objects, Name instances, or a builder you fill in on the fly. Give it whatever shape your data already has — namefully meets you where you are.
Shape it as you like
Reorder, abbreviate, format with a tiny token DSL, drop the suffix, salute someone formally, or zip a long name down to initials. The output is up to you.
Ports and wrappers
First-class TypeScript on npm and JSR, with wrappers for React and Angular, and ports in Python, Go, and Dart. Pick the runtime, keep the model.
Get to know names that don't fit a textbook
Pass in a string, an array, a JSON object, or build it piece by piece. Once you have a Namefully, you have a stable, immutable handle on every shape you need to render.
No surprises, no mutation, no dependencies. Just a small, well-tested API for a problem that is almost never as simple as it sounds.
Quick start →import { Namefully } from 'namefully';
const name = new Namefully('Thomas Alva Edison');
name.short; // 'Thomas Edison'
name.public; // 'Thomas E'
name.initials(); // ['T', 'A', 'E']
name.format('L, f m'); // 'EDISON, Thomas Alva'
name.zip(); // 'Thomas A. E.'