Skip to content

Tarot Card Reading

Prepare a reproducible upright three-card reflection from a complete 78-card catalogue, then reveal Past, Present, and Future prompts one at a time.

Privacy: your files never leave your device. All processing happens locally in your browser.

How to use

  1. 1.Enter a short non-sensitive reproducible seed, or generate a local 128-bit seed, then choose Prepare reading.
  2. 2.Reveal the three unique upright cards one at a time in Past, Present, and Future order; unrevealed card identities stay out of the rendered page.
  3. 3.Use each conditional prompt for self-reflection, copy the displayed seed if you want to reproduce the same draw, or choose Start over to clear the tab state.

About Tarot Card Reading

Tarot Card Reading is a text-and-CSS three-card reflection tool built around a complete 78-card catalogue. It includes 22 Major Arcana cards and 56 Minor Arcana cards across Wands, Cups, Swords, and Pentacles. The experience uses upright cards only and labels that scope plainly. It does not omit the Minor Arcana while presenting itself as a general tarot draw, and it does not load or reproduce a commercial card image.

The three positions are Past, Present, and Future. Past asks the user to consider how a card's themes shaped what came before. Present asks where those themes may be appearing now. Future uses explicitly conditional language: if current patterns continue, notice how the themes might develop. The page calls that a reflection rather than a prediction and never says an event will happen, is guaranteed, or is fixed by fate.

The only input is a reproducible seed. The tool does not ask for a personal question, name, birth date, relationship detail, email address, or account. Users can enter a short non-sensitive label or generate a local 128-bit hexadecimal seed with Web Crypto. Seed normalization applies Unicode NFKC, trims surrounding space, collapses repeated Unicode whitespace to one ASCII space, and lowercases the result. Equivalent compatible forms therefore reproduce the same draw.

Drawing is deterministic and documented. For each card in canonical order, the browser calculates SHA-256 over the UTF-8 string containing tarot-v1, a NUL separator, the normalized seed, another NUL separator, and the card ID. It sorts the 78 digest byte strings lexically, breaks an impossible practical digest tie with canonical index, and selects the first three cards. The three cards are unique because every catalogue entry is ranked once.

The canonical order is Major Arcana 0 through 21, followed by Wands, Cups, Swords, and Pentacles. Each Minor suit contains Ace, Two through Ten, Page, Knight, Queen, and King. Every card has a unique ID and title plus a concise original theme phrase informed by A. E. Waite's public-domain text. The page does not copy long passages from Waite or any modern copyrighted guide.

Preparing a reading stores the three selected IDs in current component memory, but every card remains visibly face down until Reveal is chosen. An unrevealed card is not resolved for rendering, and its title, ID, index, suit, rank, or themes do not appear in DOM text, ARIA labels, data attributes, class names, or inline styles. A determined user can still inspect the client bundle or React memory; the product prevents accidental disclosure, not deliberate client-side reverse engineering.

Reveal advances in the fixed Past, Present, Future order and moves keyboard focus to the newly visible card. Each revealed panel shows its position, arcana or suit and rank, title, conditional reflection sentence, and themes. Start over clears the input, prepared seed, selected IDs, reveal count, messages, and errors. A secure random or SHA-256 API failure produces an explicit error rather than a weak random fallback.

The widget makes no fetch request and does not use cookies, localStorage, sessionStorage, IndexedDB, analytics, remote images, model calls, or third-party reading services. The seed and draw remain in the current tab only. All controls use native form behavior, visible focus, and at least a 44-pixel target; the three cards stack vertically on mobile and move to three columns on a sufficiently wide viewport.

Verification compares the full literal 78-card catalogue with an independent expected list, proves the 22-plus-56 and four-times-14 structure, checks unique IDs and titles, and tests ten literal seed-to-card SHA-256 goldens including NFKC, case, whitespace, punctuation, and non-ASCII input. Correctness covers catalogue structure and deterministic selection, not supernatural prediction. The fixed boundary states that the tool is for entertainment and self-reflection only and is not medical, mental-health, legal, financial, safety, crisis, or other professional advice.

Methodology & sources

Store a literal canonical 78-card upright catalogue: Major 0-21, then Wands, Cups, Swords, and Pentacles with Ace, Two-Ten, Page, Knight, Queen, and King. Normalize a non-empty non-sensitive seed with NFKC, trim, Unicode whitespace collapse, and lowercase. For each unique card ID, compute native SHA-256 of tarot-v1 NUL seed NUL card.id, sort digest bytes ascending with canonical index as tie-break, and select the first three. Resolve and render each ID only after its Past, Present, or Future reveal; never persist or transmit the seed or draw.

Frequently asked questions

Does this tarot tool use all 78 cards?
Yes. It uses 22 Major Arcana and 56 Minor Arcana across Wands, Cups, Swords, and Pentacles. The scope is upright-only and uses no card images.
How can the same seed reproduce the same three cards?
The browser normalizes the seed and ranks every canonical card with native SHA-256 over a documented versioned string. The first three unique ranked cards become Past, Present, and Future.
Can this reading predict facts or replace professional advice?
No. The prompts are conditional symbols for entertainment and self-reflection. They do not predict events and are not medical, mental-health, legal, financial, safety, or crisis advice.

Fortune & Divination guides

View all