humanhash.dev
Nombres memorables para hashes hexadecimales.
Convierte f3527e4ef32f… en canyon-jam-telescope-creek. Una API REST diminuta y gratuita para SHA-1, SHA-256, MD5, UUID y cualquier otra cosa que puedas codificar como hexadecimal.
Pruébalo
Haz GET a cualquier hash hexadecimal en /api/v1/hash/<hex>. El endpoint es abierto, determinista y compatible con CORS:
https://humanhash.dev/api/v1/hash/f3527e4ef32f9d8b59ead6b7b70a843c3da1c105Respuesta:
{
"inputHash": "f3527e4ef32f9d8b59ead6b7b70a843c3da1c105",
"wordlist": "default",
"hash": "canyon-jam-telescope-creek"
} Cómo funciona
HumanHash convierte cualquier cadena hexadecimal en un nombre corto y pronunciable en tres pasos:
- Analiza la entrada hexadecimal como un arreglo de bytes.
- Comprime esos bytes en N segmentos iguales (N = 4 por defecto) y aplica XOR a los bytes de cada segmento para reducirlos a un solo byte.
- Mapea cada byte resultante (0–255) a una entrada de una lista cuidada de 256 palabras y une con guiones.
La salida es totalmente determinista — la misma entrada produce siempre el mismo nombre — y el algoritmo es sin estado, sin base de datos ni aleatoriedad. Cuatro palabras de una lista de 256 dan 256⁴ ≈ 4.300 millones de combinaciones, aproximadamente una huella de 32 bits: cómoda para que un humano reconozca despliegues o builds individuales, pero no un sustituto del hash subyacente cuando importa la resistencia a colisiones.
Referencia de la API
GET https://humanhash.dev/api/v1/hash/{hex}
- Parámetro de ruta
-
hex— cualquier cadena hexadecimal. No hay restricción de longitud; las entradas más largas se comprimen con XOR antes del mapeo. - Vocabulario
-
?wordlist— opcional. Elige el conjunto de palabras: default, cyberpunk, mythology, gems o gourmet. Los valores desconocidos usan el predeterminado. Ver el vocabulario - Respuesta
- JSON:
{ "inputHash": string, "hash": string } - Palabras
- Siempre 4 palabras separadas por guiones, de una lista fija de 256.
- Autenticación
- Ninguna. CORS abierto.
- Límites
- Mejor esfuerzo, sin límites estrictos. Vendoriza o aloja por tu cuenta para uso intenso.
Ejemplos de código
curl
curl https://humanhash.dev/api/v1/hash/f3527e4ef32f9d8b59ead6b7b70a843c3da1c105 JavaScript (fetch)
const hex = "f3527e4ef32f9d8b59ead6b7b70a843c3da1c105";
const res = await fetch(`https://humanhash.dev/api/v1/hash/${hex}`);
const { hash } = await res.json();
console.log(hash); // "canyon-jam-telescope-creek" Python
import requests
hex_digest = "f3527e4ef32f9d8b59ead6b7b70a843c3da1c105"
r = requests.get(f"https://humanhash.dev/api/v1/hash/{hex_digest}")
print(r.json()["hash"]) # "canyon-jam-telescope-creek" Go
resp, _ := http.Get("https://humanhash.dev/api/v1/hash/f3527e4ef32f9d8b59ead6b7b70a843c3da1c105")
defer resp.Body.Close()
var out struct{ InputHash, Hash string }
json.NewDecoder(resp.Body).Decode(&out)
fmt.Println(out.Hash) // "canyon-jam-telescope-creek" UUID
Los UUID también funcionan — quita primero los guiones:
curl https://humanhash.dev/api/v1/hash/550e8400e29b41d4a716446655440000
# => {"inputHash":"550e8400e29b41d4a716446655440000","wordlist":"default","hash":"vault-lift-onion-lilac"} Ejemplo: GitHub Actions
Un patrón común es derivar un nombre memorable a partir de github.sha y usarlo junto al SHA — por ejemplo, para etiquetar una imagen Docker con ambos. Así es exactamente como usamos HumanHash en nuestros propios pipelines de producción:
name: build
on:
push:
branches: ["main"]
env:
IMAGE_NAME: "ghcr.io/your-org/your-app"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Get human hash
run: echo "HUMAN_HASH=$(curl -s "https://humanhash.dev/api/v1/hash/${{ github.sha }}" | jq -r '.hash')" >> "$GITHUB_ENV"
- name: Build Docker image
run: docker build . --tag ${{ env.IMAGE_NAME }}:${{ github.sha }} --tag ${{ env.IMAGE_NAME }}:${{ env.HUMAN_HASH }}
- name: Log in to registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Push image
run: docker push --all-tags ${{ env.IMAGE_NAME }} Cada push obtiene dos etiquetas: el SHA exacto para reproducibilidad, y un nombre humano como swift-river-mellow-bolt realmente útil en chat, dashboards y reuniones. El binario jq viene preinstalado en el runner ubuntu-latest de GitHub, así que no hace falta configuración adicional.
Casos de uso
- Nombres de build y despliegue. Etiqueta un build de CI como swift-river-mellow-bolt en vez de 7c4f9a2. Más fácil de mencionar en reuniones y de encontrar en el historial de chat.
- Referencias a commits en chat. Pegar un SHA en Slack se ignora; pegar canyon-jam-telescope-creek se lee.
- IDs de sesión y request en logs. Cuando haces grep entre servicios o dices un ID en voz alta en una llamada, las palabras ganan al hex.
- Nombres de backups y snapshots. Restaurar vault-bronze-falcon-river asusta menos que restaurar b8f9c1d2…
- Comparación de huellas. Comparar huellas SSH o TLS visualmente es mucho más rápido como cuatro palabras que como 40 caracteres hex.
- Etiquetas de assets y versiones. Dale a tus artefactos de build, checkpoints de modelos o snapshots de datasets un nombre del que las personas puedan hablar.
Comparación con otros formatos de identificador
| Formato | Ejemplo | Memorable | Espacio de colisión |
|---|---|---|---|
| SHA-1 hex | f3527e4ef32f… | No | 2¹⁶⁰ |
| UUID v4 | 550e8400-e29b-41d4-a716-… | No | 2¹²² |
| Base58 (12 chars) | 5KQwrPbwdL5M | Algo | ~70 bits |
| HumanHash (4 palabras) | canyon-jam-telescope-creek | Sí | 2³² ≈ 4.300 M |
| Bibliotecas petname / coolname | quiet-blue-finch | Sí | Varía |
HumanHash es único por ser una proyección determinista de un identificador existente — no reemplaza tu UUID o hash, lo acompaña con un nombre que los humanos pueden leer. Úsalos juntos.
Preguntas frecuentes
¿Qué es HumanHash? +
¿Cómo funciona el algoritmo? +
¿Es reversible la conversión? +
¿Es seguro usarlo para tokens o autenticación? +
¿La API es gratis? ¿Hay límites de uso? +
¿Puedo auto-alojar o vendorizar el algoritmo? +
¿Cuántas salidas únicas son posibles? +
¿Cuál es la probabilidad de una colisión? +
¿Quién opera humanhash.dev? +
El vocabulario de 256 palabras
Las salidas se extraen de una lista cuidada de 256 palabras inglesas cortas y pronunciables, agrupadas en ocho categorías temáticas de 32. La lista evita ortografías ambiguas, casi-homófonas y palabras que se leen mal encadenadas.
Cambia de conjunto con las pestañas de abajo, o elige uno en la API con ?wordlist=<id> — cyberpunk, mythology, gems, gourmet
Colores (32)
aqua, azure, beige, bronze, brown, cherry, coral, cream, cyan, gold, grey, hazel, indigo, ivory, jade, khaki, lemon, lilac, lime, magenta, maroon, mauve, olive, peach, pink, plum, ruby, sage, sand, teal, violet, white
Animales (32)
alpaca, badger, beaver, bison, cobra, crane, deer, dingo, eagle, falcon, ferret, fox, geese, heron, jaguar, koala, kookaburra, lemur, lynx, moth, otter, panda, pelican, quail, raven, shark, sloth, swan, tiger, trout, vulture, zebra
Planetas y espacio (32)
asteroid, comet, cosmos, crater, eclipse, galaxy, halo, jupiter, mars, mercury, meteor, nebula, neptune, orbit, planet, quasar, rocket, satellite, saturn, sky, solar, space, star, sun, telescope, terra, titan, universe, uranus, venus, vortex, zenith
Naturaleza y geografía (32)
bluff, cairn, canyon, coast, creek, desert, dune, forest, glacier, grove, hill, horizon, island, jungle, knoll, lake, meadow, moss, ocean, peak, puddle, ridge, river, stream, swamp, thistle, trail, valley, volcano, wave, woods, yarrow
Comida y fruta (32)
apple, berry, bread, cake, clove, cookie, dough, grape, herb, honey, jam, juice, kiwi, maize, melon, mint, muffin, noodle, oats, onion, pesto, pickle, pie, rind, roast, spice, sugar, toast, vanilla, waffle, yeast, zest
Adjetivos (32)
agile, brave, calm, clever, crisp, daring, deep, easy, fierce, flat, giant, great, happy, heavy, high, light, lively, loud, lucky, mellow, quick, quiet, rapid, ready, sharp, silent, smart, smooth, solid, swift, vast, vivid
Objetos y conceptos (32)
anchor, beacon, bolt, bridge, canvas, cipher, clock, coin, crown, diamond, echo, flare, ghost, glyph, hammer, helix, jewel, key, ledger, locket, maze, moment, needle, puzzle, quill, scroll, shield, signal, spirit, token, tower, vault
Verbos y acción (32)
bounce, capture, dash, drift, enter, escape, fly, glide, grasp, halt, jump, launch, lift, march, move, pedal, plunge, quiver, race, roam, scan, seek, shine, soar, spin, spring, steer, stride, thrust, touch, travel, weave
Neon-noir chrome, hackers, and megacity sprawl.
Neon & Light (32)
neon, glow, flare, laser, strobe, prism, glare, beam, haze, shimmer, glint, spark, blaze, gleam, aurora, halo, flicker, radiance, lumen, violet, magenta, azure, crimson, amber, cyan, glimmer, dazzle, luster, sheen, glaze, glisten, vivid
Chrome & Metal (32)
chrome, steel, titanium, alloy, rivet, girder, plating, ingot, cobalt, tungsten, nickel, mercury, platinum, brass, copper, iron, forge, weld, gantry, carbon, graphite, ferrous, molten, scrap, plasteel, rebar, wrench, sprocket, piston, turbine, ratchet, bolt
Hacking & Code (32)
cipher, exploit, payload, rootkit, daemon, kernel, cracker, decrypt, breach, backdoor, malware, botnet, spoof, sniffer, keylog, firewall, proxy, hashcode, scripter, worm, trojan, phisher, brute, entropy, sandbox, leetcode, bytecode, syntax, compile, debug, glitch, zeroday
Cyber Cityscape (32)
megacity, skyline, tenement, alley, arcology, district, slum, overpass, subway, rooftop, backstreet, plaza, tower, bunker, sprawl, gutter, skyway, metro, precinct, quarter, barrio, conduit, sewer, atrium, spire, gridlock, tunnel, bazaar, ghetto, skyscraper, drainage, viaduct
Augmentation (32)
cybernetic, implant, prosthetic, optic, servo, exoskel, wetware, neuralink, graft, retina, cortex, synapse, spinal, cranial, ocular, gland, sinew, tendon, marrow, plexus, reflex, limb, jaw, skull, vein, nerve, muscle, bionic, augment, cyborg, biochip, dermal
Synth & Sound (32)
synth, oscillator, reverb, arpeggio, bassline, waveform, tremolo, distortion, filter, resonance, modular, sequencer, analog, subwoofer, echo, feedback, vocoder, sustain, timbre, cadence, tempo, pulse, drone, glissando, staccato, octave, chorus, delay, sampler, loop, groove, crescendo
Corp & Crime (32)
zaibatsu, conglomerate, syndicate, cartel, fixer, runner, mercenary, smuggler, racket, extortion, blackmail, launder, contraband, kingpin, enforcer, bounty, ransom, bribe, heist, felony, gangster, underworld, triad, yakuza, contractor, mogul, tycoon, embezzle, sabotage, espionage, operative, henchman
Tech Actions (32)
override, reboot, upload, jack, scramble, hijack, intercept, encrypt, transmit, accelerate, reroute, disable, activate, fragment, corrupt, render, extract, inject, detonate, ignite, amplify, calibrate, reverse, trace, scan, wipe, ghost, cloak, fuse, splice, rewire, unleash
Gods, heroes, monsters, and relics of world myth.
Greek Gods (32)
zeus, hera, apollo, artemis, ares, athena, hermes, hades, poseidon, hestia, demeter, dionysus, helios, hecate, nike, eros, hypnos, nemesis, iris, gaia, uranus, cronus, rhea, selene, morpheus, pan, eos, nyx, tyche, hebe, themis, circe
Norse Myth (32)
odin, thor, loki, freya, baldur, heimdall, tyr, frigg, njord, vidar, bragi, forseti, hel, skadi, sif, idun, fenrir, garm, sleipnir, ratatosk, nidhogg, midgard, asgard, valhalla, bifrost, ragnarok, mjolnir, gungnir, yggdrasil, valkyrie, norns, ymir
Egyptian Myth (32)
ra, osiris, isis, horus, anubis, thoth, seth, bastet, sekhmet, hathor, nephthys, ptah, amun, atum, khonsu, sobek, geb, nut, shu, tefnut, maat, khepri, apophis, wadjet, ammit, serqet, montu, neith, sahu, duat, aaru, scarab
Mythic Creatures (32)
griffin, phoenix, hydra, chimera, sphinx, kraken, basilisk, wyvern, manticore, cerberus, minotaur, pegasus, centaur, cyclops, harpy, gorgon, satyr, nymph, selkie, kelpie, banshee, wendigo, leviathan, behemoth, roc, cockatrice, unicorn, dragon, wraith, golem, djinn, faun
Heroes & Mortals (32)
atlas, perseus, theseus, heracles, jason, achilles, odysseus, hector, orpheus, cadmus, midas, icarus, daedalus, pandora, helen, castor, leonidas, beowulf, sigurd, gilgamesh, arjuna, cuchulainn, mulan, wukong, ajax, priam, aeneas, pyramus, medea, arachne, tantalus, oedipus
Relics & Artifacts (32)
aegis, ankh, amulet, talisman, grail, trident, caduceus, cornucopia, labrys, fleece, scepter, chalice, reliquary, obelisk, totem, idol, sceptre, torc, brooch, crown, gauntlet, draupnir, clarent, gram, excalibur, durendal, tyrfing, gleipnir, kusanagi, scimitar, quiver, censer
Sacred Realms (32)
olympus, elysium, tartarus, asphodel, avalon, shangri, arcadia, delphi, parnassus, ithaca, troy, sparta, thebes, atlantis, hyperborea, niflheim, muspelheim, jotunheim, alfheim, helheim, vanaheim, nirvana, penglai, camelot, babylon, memphis, karnak, heliopolis, valinor, mordor, shambhala, eden
Mythic Concepts (32)
fate, omen, rune, oracle, prophecy, destiny, augury, sacrifice, ritual, blessing, curse, vision, quest, legend, myth, saga, epic, relic, shrine, temple, altar, sigil, glyph, portent, ambrosia, nectar, wisdom, valor, glory, honor, chaos, cosmos
Precious stones, metals, flowers, and herbs.
Gemstones (32)
opal, topaz, amber, garnet, jasper, beryl, zircon, peridot, spinel, sphene, kunzite, citrine, amethyst, sapphire, emerald, diamond, agate, onyx, jade, coral, pearl, ivory, ruby, moonstone, sunstone, jadeite, morganite, carnelian, turquoise, lapis, kyanite, iolite
Minerals (32)
quartz, calcite, feldspar, mica, gypsum, halite, fluorite, pyrite, galena, azurite, malachite, hematite, barite, talc, graphite, olivine, kaolin, borax, cinnabar, realgar, stibnite, apatite, dolomite, selenite, celestite, rhodonite, obsidian, flint, chert, geode, tanzanite, spinelite
Metals (32)
gold, silver, copper, bronze, platinum, titanium, iridium, rhodium, osmium, cobalt, nickel, zinc, tungsten, chromium, vanadium, tantalum, niobium, gallium, indium, rhenium, cerium, terbium, erbium, yttrium, scandium, lithium, rubidium, cadmium, antimony, bismuth, selenium, palladium
Flowers (32)
lily, rose, iris, poppy, daisy, tulip, violet, peony, dahlia, aster, lotus, jasmine, lavender, lilac, freesia, marigold, petunia, zinnia, begonia, camellia, magnolia, gardenia, orchid, anemone, primrose, snowdrop, bluebell, foxglove, azalea, hibiscus, verbena, crocus
Trees (32)
oak, elm, ash, birch, maple, cedar, pine, spruce, willow, alder, aspen, beech, hazel, rowan, yew, fir, larch, linden, sycamore, poplar, chestnut, walnut, hawthorn, juniper, cypress, redwood, sequoia, mahogany, teak, ebony, acacia, rosewood
Herbs (32)
basil, thyme, sage, mint, rosemary, oregano, parsley, chive, dill, fennel, tarragon, cilantro, marjoram, savory, borage, sorrel, chervil, lovage, comfrey, betony, chamomile, yarrow, nettle, mallow, angelica, burdock, valerian, feverfew, hyssop, balm, catnip, rue
Foliage (32)
fern, moss, ivy, vine, frond, leaf, sprout, bramble, thicket, bracken, clover, heather, reed, rush, sedge, bracket, tendril, shoot, bud, petal, stamen, pollen, nectar, blossom, sprig, twig, bough, canopy, grove, hedge, meadow, garden
Earthy Tones (32)
umber, ochre, sienna, russet, sepia, taupe, clay, sand, loam, slate, pebble, gravel, cobble, stone, boulder, shale, marble, granite, basalt, limestone, sandstone, soapstone, chalk, soot, ember, cinder, amberhue, dust, soil, earth, mud, peat
Spices, produce, cheeses, and the kitchen.
Spices & Seasonings (32)
saffron, cumin, paprika, nutmeg, cardamom, cinnamon, cloves, turmeric, coriander, fennel, fenugreek, mustard, allspice, mace, anise, caraway, sumac, wasabi, ginger, galangal, peppercorn, vanilla, tamarind, juniper, sesame, poppy, celeryseed, achiote, grains, asafoetida, pimento, zaatar
Herbs (32)
basil, thyme, oregano, rosemary, sage, parsley, cilantro, dill, chervil, marjoram, tarragon, chive, mint, lavender, savory, sorrel, lovage, borage, verbena, lemongrass, bayleaf, catnip, hyssop, angelica, epazote, perilla, shiso, watercress, arugula, purslane, nasturtium, comfrey
Fruits (32)
apricot, mango, lychee, fig, quince, persimmon, guava, papaya, pomegranate, tangerine, clementine, plum, damson, mulberry, gooseberry, currant, elderberry, kumquat, loquat, pawpaw, rambutan, durian, jackfruit, starfruit, passionfruit, cherimoya, feijoa, nectarine, greengage, medlar, sapote, tamarillo
Vegetables (32)
artichoke, asparagus, fennelbulb, leek, shallot, endive, radicchio, kohlrabi, celeriac, parsnip, turnip, rutabaga, beetroot, chard, kale, collard, okra, aubergine, courgette, squash, pumpkin, cauliflower, broccoli, fennelroot, salsify, scorzonera, cardoon, samphire, truffle, morel, chanterelle, porcini
Cheeses & Dairy (32)
brie, camembert, gruyere, gouda, cheddar, stilton, roquefort, gorgonzola, parmesan, pecorino, manchego, comte, emmental, havarti, provolone, mozzarella, ricotta, mascarpone, feta, halloumi, paneer, burrata, taleggio, fontina, reblochon, raclette, jarlsberg, asiago, cotija, quark, clotted, kefir
Drinks (32)
espresso, cappuccino, latte, mocha, chai, matcha, oolong, rooibos, horchata, lassi, negroni, martini, sangria, mimosa, aperol, campari, amaretto, limoncello, calvados, armagnac, cognac, mead, cider, kombucha, tonic, cordial, kvass, atole, switchel, shrub, cortado, ristretto
Dishes & Bakes (32)
risotto, paella, tagine, gnocchi, ravioli, cannelloni, souffle, tartine, baguette, brioche, croissant, focaccia, ciabatta, crumpet, scone, galette, clafoutis, tiramisu, macaron, baklava, strudel, quiche, frittata, tortilla, empanada, dumpling, gyoza, ramen, laksa, goulash, cassoulet, ratatouille
Techniques (32)
braise, poach, blanch, saute, sear, roast, baste, caramel, deglaze, marinate, ferment, pickle, cure, smoke, steam, simmer, whisk, fold, julienne, mince, reduce, emulsify, flambe, temper, proof, knead, grill, broil, confit, render, clarify, infuse
Sin garantías
Este servicio se ofrece tal cual, sin garantías de disponibilidad ni promesa de existir para siempre. Dicho esto, lo usamos para nuestras propias cargas de producción, así que no va a desaparecer en el futuro previsible. Si dependes de él, considera vendorizar el algoritmo — es pequeño.
Fiabilidad
HumanHash se ejecuta en Cloudflare Workers y se sirve desde la red edge global de Cloudflare, presente en cientos de ciudades. El servicio es sin estado y determinista —no hay base de datos ni backend que puedan caerse— por lo que las solicitudes se atienden cerca de ti con alta disponibilidad y baja latencia. Aun así, es un servicio gratuito de mejor esfuerzo sin SLA formal, así que incorpora la lista de palabras en tu proyecto o aloja el servicio tú mismo si necesitas disponibilidad garantizada.
Acerca de
HumanHash es operado por Pilvia Oy, una empresa de nube finlandesa. Lo usamos internamente para etiquetar builds, despliegues y snapshots, y lo hemos abierto porque el algoritmo es útil en general.
El concepto de humanhash se originó como una pequeña biblioteca de Python de Zachary Voase. Esta implementación es una reescritura TypeScript independiente que corre en Cloudflare Workers, con un vocabulario propio.