1,000,000 decimal places of π

One Million Digits of π

Search the first one million decimal places of pi. Find a birthday, a phone number, or any other short sequence, then open that position in the full dataset.

Pi (π) is the ratio of every circle's circumference to its diameter, an ancient, endless constant mathematicians have chased since Archimedes bounded it by hand over 2,200 years ago. The computer era began in 1949, when the ENIAC calculated π to 2,037 digits in 70 hours; the current record, set in November 2025 by StorageReview and Micron Technology, stands at 314 trillion digits.

1,000,000
digits. Browse the full dataset
314 trillion
digit world record. StorageReview & Micron, Nov 2025
70,000
digits recited from memory. Rajveer Meena, 2015
π Digit Browser
×
digit 0 scroll ↓
Account settings
×
Code: Tips and Onboarding
Current performance
-
This is what arms when you search this code, tap the last result, and tap X. It stays set until you change it below and hit Save.
These settings belong to your peek screen itself, not any one mode. They stay exactly as saved no matter which mode above is active or how you switch between them.
Black Screen is a plain black peek. Image uses only the photo you upload below. There is no stock screenshot if you have not added one.
Birthday blocks read day then month unless USA mode is on, in which case they read month then day.
When YY off is on, a 4-digit date is enough (13th June is 1306, or 0613 in USA mode). The peek then shows days since birthday, a likely star sign, and not a weekday. If they still type six digits, the year is used as normal.
Optional. Used only when Launch on is Image. If you upload a home screen screenshot, crop out the top status bar (time, signal, battery) first, so it sits behind the real status bar instead of showing a duplicate. A Remove-type tool in your phone's photo editor can do that. If you have not uploaded a photo, Image stays black. Nothing is filled in for you.
Peek address
onemilliondigits.com/
Open this on a second phone and keep it private. Add it to the home screen if you want it to fill the display.
Activation code
×
This is your first time here. Enter the activation code you received on purchase to unlock code . You'll only need this once; right after, you'll choose a 4-digit PIN to use from then on.
Settings PIN
×
Enter your 4-digit Settings PIN. First time here? Whatever you enter now becomes your PIN going forward. Make sure you remember it.
Choose your number
×
Pick your 4-digit number to be yours. This is the code you will search to start each performance. This code cannot be changed once set. If your code is taken, please try another.
How this works
×
The full guide to running a routine end to end. Tap None or Workflow below for its complete instructions. Force, Real, Birthday, and Normal are blocks you add inside a Workflow. You can reopen this anytime from Settings.
Getting started
1. First-time setup. On any phone, go to onemilliondigits.com, type your code into the search box, tap the very last result, then tap scroll ↓ above the digit rows (not the X). Enter the activation code from your purchase, then choose a 4-digit Settings PIN. That opens Settings.

2. Arm a performance. Type your code, tap the last result, then tap the × to close the database. That arms the device if Mode is Workflow. Closing with X never opens Settings. After the last block of the workflow, the device is no longer armed; search your code and tap the last result again to start a new routine.

3. Confirm privately. The moment you tap that × to close the database is exactly when the confirmation updates, so once you're back on the homepage, glance at the paragraph under the title. It normally reads "…calculated π to 2,037 digits…". While a workflow step is running, that number quietly becomes your own code instead (e.g. "1,111"), then reverts to 2,037 the instant nothing's armed. Nothing a spectator would ever notice or think twice about.

4. Your own phone never has to touch the search. This is the whole structure: hand a spectator your phone (or borrow theirs) already open to the homepage, and have them type your code in and tap the last result with you, completely natural, looks like nothing at all. From that moment, whatever they type next (their birthday, a chosen number, anything) is what gets forced or revealed. Your own phone is free to sit elsewhere entirely, doing nothing but quietly running your Peek Screen.

5. Set up your Peek Screen. On a second device, your own phone, kept out of sight, open:
onemilliondigits.com/XXXX
This is your private screen. It updates live the instant the spectator's device searches, showing exactly what's been forced or found, and which step of a Workflow you're on. Add it to your home screen for the most convincing look. Opened that way it fills the whole screen with no browser visible at all.

6. Choose how it looks. In Settings, pick your Peek Screen's disguise before anything's revealed. Black Screen is plain black. Image uses a photo you upload yourself. There is no default screenshot; if you have not uploaded one, Image stays black.

7. Settings PIN. Open Settings with scroll ↓ after searching your code and tapping the last result. The first time, you enter your purchase activation code, then whatever 4-digit PIN you type becomes your PIN from then on. It protects your setup from anyone else who happens to know your code number.
Modes. Tap for the full guide to each
None (Idle)
Nothing is armed. Searching your code and closing the database loads no performance. Switch to Workflow to perform.
›
Workflow
Chain several steps together for a full routine. Mix Force, Real, Birthday, and Normal blocks in any order. Each spectator search moves to the next block automatically.
›
Inside a Workflow
Force blocks
Plant a chosen position, digits before the search, and digits after. Or turn on Forever so Before and After follow a sequence you can continue from whatever they search. Configure up to 4 Force setups inside the workflow, then drop them into the sequence as Force 1 through Force 4.
›
Real blocks
Nothing is forced. The genuine digits of pi are searched, and every digit typed is quietly sent to your Peek Screen live as they type.
›
None (Idle). Full guide
×
What it does. Nothing is armed. Searching your code, tapping the last result, and tapping X loads no performance. Searches stay genuinely real, nothing is sent to your Peek Screen, and the silent confirmation text does not change. You can still open Settings with scroll ↓.

When to use it. This is your safe resting state between routines. Leave Mode as None, and handing the phone around cannot start a workflow. Switch to Workflow in Settings, then Save, only in the moment right before you actually want a performance to load.

Why the hero text doesn't change here. The private "2,037 → your code" confirmation (see Getting Started) only ever appears while a workflow step is genuinely running. In None, it never shows, even if someone searches your code and closes the database.

Switching modes. Settings → choose your mode with the mode buttons at the top → Save. You don't need to re-arm afterward. The next time that device searches your code and taps the last result, Workflow will load if that is what you saved.
Force blocks. Full guide
×
What it does. Whatever digits a spectator's device searches, the result shown is one you've set in advance: a chosen position in pi, with your own digits planted directly before and after the search, so it reads as a completely genuine occurrence. Forever Mode builds those surrounding digits from the search itself, as a sequence you can continue mentally.

Setting it up. Settings → Workflow → New or edit a workflow. Under This workflow's 4 Force searches you'll see four groups, one for each Force block you can drop into the sequence. Expand any group to reveal Forever (Off, Twin sum, or Seed wheel) and up to 4 rows. Each row has a Position box, a Before box, and an After (STRING) box.

Position box. Type the exact digit position in pi you want the spectator's search anchored to. Leave it empty (it'll show a grey "POS" hint) and that row uses the spectator's real position instead, genuinely wherever their digits actually occur in pi, no configuration needed.

Before box. Type the digits you want to appear directly before the spectator's search (numbers only, plus X and Y shorthand. See below). Leave it empty (grey "BEFORE" hint) and the row shows whatever digits genuinely sit before that position in real pi instead.

After box (STRING). Type the digits you want to appear directly after the spectator's search. Leave it empty (grey "STRING" hint) and the row shows whatever digits genuinely follow that position in real pi instead.

Forever Mode. Auto-fills Before and After from whatever the spectator searches, so the digits around the match are a sequence you can continue in your head. Different every time. Position still works as normal. Saved Before and After are kept, but ignored while Forever is on, and come back if you switch it Off.

Twin sum. Row 1 (the main hit): add digits 1 and 2 of the search, keep only the units digit, then keep adding the last two digits of the growing number. Rows 2, 3, and 4 start on 2+3, 3+4, and 4 wrapping to 1, so the four cards do not share the same neighbours. Before each row reverse-twins from that same pair (right minus left; if below 0, add 10). Example for 6489, Row 1 continues 09987527... Practice drills Row 1.

Seed wheel. After the search: add the digits of the search in order, looping, to the latest digit, keep only the units. Row 1 starts by adding digit 1. Rows 2, 3, and 4 start on digits 2, 3, and 4. Before: subtract those digits in reverse from that starting point. Example for 6489, Row 1 continues 59762643... Practice drills Row 1.

Mix and match freely. Position, Before, and After are entirely independent per row when Forever is Off. Force any combination, or leave any of them genuine. Empty always uses real pi.

Why 4 rows per Search. Row 1 is what's actually planted and shown as the main "found" result. Rows 2–4 are optional extra "also found at position…" cards shown underneath, for texture, genuinely useful if you want the sequence to appear to occur several times. Leave any of rows 2–4 completely empty and it's simply skipped.

X / Y shorthand. Works in both Before and After. After some digits, X repeats what came immediately before it, and Y repeats it reversed. E.g. typing 47X gives "4747"; typing 47XX gives "474747"; typing 47Y gives "4774".

How it plays out live. A Force 1 block fires the first Force group, Force 2 the second, and so on. Each Force number can only be used once per workflow. After the last block has fired, the device is no longer armed. Search your code and tap the last result again to start a new routine.

Practice. With Twin sum or Seed wheel on, turn Practice on and tap Practice. You get a random 4-digit number and are asked for the next digit, on an on-screen keypad. A correct tap flashes green and moves on. A miss flashes red and you try again. Two misses in a row on the same step shows the answer. Tap Continue to go to the next digit. Practice drills Row 1 of whichever Forever formula that Force group is set to.

They stay saved. Force 1 through Force 4 are stored on this account with the workflow. Reopening Settings, editing the sequence, or hitting Save at the bottom will not wipe them. They last until you change them.
Real blocks. Full guide
×
What it does. Nothing is forced or planted. The search a spectator's device runs is completely genuine, real pi, start to finish. What makes it useful is that the position it's found at, and a run of digits continuing after it, are quietly sent to your Peek Screen live, as they type, before they've even pressed Search.

Setting it up. Settings → Workflow → New or edit a workflow. Set Digits after on the workflow (12 by default), then add one or more Real blocks to the sequence. Each Real block covers one spectator search.

Why it's convincing. Because absolutely nothing is planted, there's no risk of a mismatch or a spectator double-checking and finding something odd. The underlying data is entirely legitimate. The effect comes purely from you appearing to know what's about to be found before it's revealed, which you genuinely can, by reading it off your own Peek Screen a moment beforehand.

Live-as-you-type detail. Unlike a Force block, you don't need the spectator to finish typing or press Search at all. While a Real block is next, every keystroke updates your Peek Screen in real time, so you can start reacting the instant enough digits are in to be useful.
Workflow. Full guide
×
What it does. Chains multiple steps into one continuous routine. Mix Normal, Real, Birthday, and up to 4 different Force setups in any order you like. Each search the spectator's device makes advances automatically to the next step.

Building one. Settings → choose Workflow → New Workflow. Give it a name, set Digits after (used by any Real or Birthday steps in this workflow), then add steps in order using the block picker.

The four block types:
• Normal. An ordinary genuine search, nothing sent anywhere. A breather step.
• Real. Live-streams the genuine position and continuing digits to your Peek Screen as they type. See the Real blocks guide for the full details.
• Birthday. Reads a date from the search. Default is DD/MM/YY. Turn on USA mode in Settings for MM/DD/YY. Turn on YY off and they only need four digits (DD/MM or MM/DD); the peek then shows days since birthday and a likely star sign, not a weekday. If the digits aren't a valid date, it falls back to a plain real reveal.
• Force 1–4. Each number is its own independent Position / Before / After setup, configured in the workflow editor. See the Force blocks guide for the full details on those fields.

Position force. Separate from Force blocks, and not a step in the sequence. Arm as normal, then Jump to digit in the database plants the digits you have set, instead of showing real pi at that spot. Clicking any homepage result does the same, including a genuine Real or Normal card, not only a Force result. Homepage search is unchanged. It can fire at any point in the routine, including after you open a result, as many times as you have slots filled, in order. After those jumps, Jump shows real pi again.

Under This workflow's 4 Position forces, each row is one jump. Type 1 to 20 digits. 1 digit appears at the jumped position. 2 to 9, or 11 to 19: tap which digit of that string lands on the jumped position, and the rest fill around it. 10 digits fill the half of the line the position falls in. 20 digits fill the whole line. Only the jumped digit is highlighted in the database. Leave a row empty to skip it. They stay saved with the workflow. Filling Force 1 through Force 4 above does not run those searches on its own: add each one to the block sequence with + Force.

Running it. Arm as normal. Search your code, tap the bottom result, tap X. The workflow's steps run in the exact order you built them, one per spectator search. After the last block, the device is no longer armed.

Choosing which workflow is live. Settings → select Workflow as your mode → pick the one you want from your saved workflows.
Practice
×
What's the next digit?
Customize Layout
×
Tap a field below to drop it onto your image, then drag it into place. Tap a placed field to remove it. This replaces the default peek text with your own layout on this background.
Tips and Onboarding
×
An interactive tour walks through the public site and Settings.
Arm. Search your code, tap the last result, tap X.
Settings. Search your code, tap the last result, tap scroll down.
Idle. Mode None, then Save.
Peek. onemilliondigits.com/XXXX in a new tab or on a different phone. Add it to the homescreen as its own app.
Workflow. One spectator search per block, in order.
Position force. While armed, Jump (or any result) plants the next slot.
Closing with X never opens Settings. After the last block, search your code and tap the last result again to start a new routine. The 2,037 under the title quietly becomes your code while a step is live. Force plants only run when that Force is in the block sequence. Position force is not a block; it can fire at any time while armed. Homepage search stays a sequence search.

News

March 2008
We launched. One million decimal places of π, searchable from a browser.
December 2009
Fabrice Bellard computes 2.7 trillion digits of π on a desktop PC, passing the previous supercomputer record.
October 2011
Shigeru Kondo and Alexander Yee reach 10 trillion decimal places.
March 2015
Rajveer Meena recites 70,000 digits of π from memory in 9 hours 27 minutes, a Guinness World Record.
March 2019
Emma Haruka Iwao, using Google Cloud, calculates 31.4 trillion digits of π on Pi Day.
January 2021
Site update. Faster search, jump-to-position in the digit browser, and a few quiet fixes.
November 2025
StorageReview and Micron Technology announce 314 trillion digits, the current record.

About this site

onemilliondigits.com is a searchable copy of the first one million decimal places of π. Use the box above to find any sequence, or open the digit browser to jump to a position and read the digits in context.

Learn about π · π calculator