They see me rollin'

Dice by PCalc, is a physics-based simulation of polyhedral dice for use in tabletop role-playing games with dungeons and/or dragons.

It runs on an iPhone, iPad, Apple Watch, and Apple TV. A separate version is also available for the Mac.

Featuring near-photorealistic 3D graphics, it comes with a variety of gorgeous dice sets. It even has a photo mode! Throw multiple dice with advantage or disadvantage, and any given modifier, and the app will automatically calculate the correct total.

You can save named presets to quickly roll the attack of your favorite sword, or figure out exactly how much damage your bard took from those seventeen giant rats. Flick dice to fire them across the screen when the numbers don't go your way.

Create custom dice with any text or emoji on the faces, or import your own images, and easily share your dice with friends. You can even create custom roll functions, such as rolling four dice and dropping the lowest value, or automatically rerolling any ones.

Supports split screen and slide-over on the iPad, so you can put it alongside your other RPG apps, and speech synthesis that can read out the list of dice and the results. It even has an AR mode.

The ideal app for every member of your party!


Click on any of the images to see a bigger version.

Download a press pack of full resolution screenshots here (269 MB).

Purchasing for iOS / iPadOS / watchOS / tvOS

You can buy Dice by PCalc on the App Store by clicking the button below:

ios App Store

It costs $1.99 in the US, price varies in other countries. It's a (mostly) universal app - one purchase will work on iPad, iPhone, Apple Watch, and Apple TV.

It requires iOS / iPadOS / tvOS 14.1 or later, and watchOS 5 or later.

While it technically runs on an iPhone 6S upwards, it definitely prefers the graphical prowess of a iPhone X or later. On the iPad side, an A10 processor or later is recommended. A Series 4 watch or later is similarly recomended.

Purchasing for macOS

Dice by PCalc for the Mac is available on the Mac App Store by clicking the button below:

ios App Store

It requires macOS 11 or later, and supports macOS 12 and both Apple Silicon and Intel Macs.

Currently, Apple does not allow developers to merge two existing apps together into a universal purchase, so this is a separate purchase of $1.99.


If you have any problems or questions, mail me at:

or contact me via Twitter at:

@pcalc or @jamesthomson

and I'll do my best to help.

Version History


  • Added support for iOS 16, including lock screen widgets for when you really really need to roll some dice quickly.
  • Added support for watchOS 9, including the Apple Watch Ultra.
  • Added a new dice theme, “Lakrits”.
  • Added a new Pascal the Panda sticker for Messages, “The Barbarian”.
  • Fixed a problem rolling dice from widgets or URLs.
  • Fixed a problem showing the controls after they were hidden.
  • Fixed a problem displaying face names for negative numbers.
  • Fixed a problem with the “Breakdown” and “Statistics” results modes.

2.6 for macOS will come later in the year with the release of macOS 13.


  • Added a separate window on Mac called the “Roll Bar” with a selection of useful controls - if you show this, all the UI in the main window will be hidden. Also known as the “Snell Bar”.
  • Added a separate window on Mac to display the results. Like the “Roll Bar”, this can be accessed from the “Window” menu, and is resizable.
  • Added some app icon menu items to quickly roll specific dice, or flip a coin.
  • Added a new dice font, “Vyrantium”.
  • Added “Lock” and “Unlock” commands to the roll functions. Type “Lock < 4” for example, to lock all dice with a value less than four.
  • You can now use "Duplicates" as an argument for the roll functions, such as “4D6 (Reroll Duplicates)”.
  • Fixed a problem with the Shortcuts support.
  • Fixed a problem with the square dice tray option.
  • Fixed a problem with theme settings not updating on the Apple Watch.


  • Added a new interface mode, "Grimdark", which makes it easier to roll large numbers of D6s, and has extra buttons for "Reroll 1s", "2 Up" etc.
  • Added a new way of displaying results, which counts the number of dice greater than or equal to a given value.
  • Added a new tray theme, "Isley".
  • Added an option to use different types of D6.
  • Added an option to hide everything by tapping the screen with two fingers.
  • Added 4K textures for the tray themes.
  • Added more built-in dice images.
  • You can now enter roll functions by themselves into the "Type to Roll" section to apply to the current dice, eg "Reroll 1" or "Drop < 5". Also works in dice sets or via scripting.
  • Improved the readability of the "Six Colors", "Baker", and "Helms" dice themes.
  • Fixed a problem with the lighting in "Basic" graphics mode.
  • Fixed a problem with the watch complication icons.
  • Fixed a problem with the popups in the preferences window not having labels on macOS 12.4.


  • The previously locked bonus dice theme "Quorra" is now available for everybody.
  • Added a new bonus dice theme, "Octarine".
  • Added some new alternative app icons.
  • You can now draw Apple's SF Symbol images on the faces of custom dice. Just set the custom label to be the name of an existing symbol.
  • The Rickies trophy now uses the API at to find out the current winners.
  • Fixed a problem drawing the Rickies trophy in "Basic" graphics mode.
  • Fixed a problem with the roll history not closing when you tapped a result.
  • Fixed a problem updating the dice count after running a roll function.
  • Fixed a problem with the double-tap to reroll.
  • Fixed a problem tabbing between text fields.


  • Added an option for various motion effects when you move your device. You can shake now the dice for real, or simulate a 3D display!
  • Added an option to wake the app from energy saver mode on device movement.
  • Added an option to not switch to the cinematic camera for critical rolls.
  • Added a new dice theme, "Studio 42".
  • Fixed a number of significant memory leaks.
  • Fixed a problem with the dice previews.
  • Fixed a problem copying the result to the clipboard.
  • Fixed a problem displaying totals in the AR test section.


  • Added two new dice themes, "Vapor", and "S.M.O.O.C.H." for Valentine's Day.
  • Added fifteen new dice fonts.
  • Added a brand new settings section for iPad. Much easier to actually find things!
  • Added a preview of the current dice theme to the settings.
  • Added a tray theme which replaces the background with a blue screen for chroma key compositing dice onto video.
  • Added a quick access control to hide all of the UI until the next tap.
  • Added a "3D Model Test" section so you can stare at the pretty dice more closely.
  • Added an option to specify the type of anti-aliasing used.
  • The camera position, rotation, and zoom is now remembered between sessions.
  • The D10 of a D100 pair is now drawn using the same color as the D100.
  • Now display the roll URL in the custom dice and sets sections.
  • Improved the dice theme tint and text color drawing.
  • Improved handling of low memory situations.
  • Slightly faster startup and theme switching. Slightly.
  • Fixed a problem hiding the walls around the tray.
  • Fixed a problem drawing the tray when switching the green screen off.
  • Fixed a problem rolling dice from the widget if the app wasn't running.
  • Fixed a problem drawing the Relay FM coin in the widget.


  • Added a new dice theme, "Caramel".
  • Added an option to automatically clear the tray before rolling new dice.
  • Added an option to draw D4 values at the bottom edge of the dice.
  • Added a new widget that just flips a coin or rolls a specific dice.
  • Added a button to the existing widget to flip a coin.
  • Added a tray theme which replaces the background with a green screen.
  • Added quick access controls to switch the tray and walls off.
  • The history section can now show non-numeric results, like heads and tails.
  • Fixed a problem with coin flips and dice rolls in the watch app.
  • Fixed a problem with the lights not switching on if they were off at startup.
  • Fixed a problem creating custom dice faces containing a comma.

  • Added a new dice theme, "Illuminati".
  • Now show an indicator when dice textures are being generated.
  • Improvements to the Relay FM mode.
  • Fixed a crash in the About screen.
  • The missing bowling pins have been found.


  • Added a new Halloween dice theme, "Shocktober".
  • Fixed a problem navigating with the arrow keys on macOS 12.


  • Added support for macOS 12.
  • Added support for Shortcuts on macOS 12.
  • Added the ability to link dice rolls to notes via Quick Note on macOS 12.
  • Added full support for the Apple Watch Series 7.
  • Added two new dice themes, "Dragonette", and "Battle Damage".
  • Added an option to still play dice sounds even if your phone is set to be silent.
  • Added a second line to the phone "Type to Roll" section with dice styles.
  • The "Last Roll" will now display non-numeric results.
  • The automatic breakdown display is smarter about when it activates.
  • Fixed a problem adding a dice set to a tray with an existing modifier.
  • Fixed a problem with the plus button in the "Type to Roll" section.
  • Fixed a problem with the total in the "Simple Controls" mode.
  • Fixed a problem with invisible unicorns and ducks in ADV/DIS dice.
  • Fixed a crash when syncing the tip jar contents between devices.


  • Fixed a problem with the 120fps ProMotion display on iPhone 13 Pro.


  • Added support for iOS and iPadOS 15.
  • Added support for watchOS 8.
  • Added the ability to link dice rolls to notes via Quick Note on iPadOS 15.
  • Added extra large widgets on iPadOS 15.
  • Added an option for a square dice tray.
  • You can now use Handoff to send the state of the dice tray between your devices.
  • Faster and more accurate detection of when the dice have settled.
  • Reduced the sensitivity of the Digital Crown in the watch app.
  • Bowling balls are no longer hollow.
  • Fixed a problem with not being able to close the settings when using VoiceOver.


  • Added an AR dice rolling test - not fully featured, but fun!
  • With a LiDAR scanner you can roll virtual dice and have them fall off the table and get lost under the sofa!
  • Added options to automatically tidy up and rotate the dice in the tray to make them more readable.
  • Added a new cinematic camera mode that doesn't zoom in on the dice.
  • You can now undo any action performed with the dice.
  • The positions of the dice are now remembered between sessions.
  • You can now import and export the current state of the dice tray.
  • Tap the total in the history section to restore the dice as they were originally rolled. Only available for new rolls.
  • Rotating the device will no longer reroll dice. Finally!
  • Fixed a problem with USDZ export.
  • Dice by PCalc now requires iOS 14.


  • Added two new dice themes, "Stardust", and "Sparkle".
  • Added coins to the watch app.
  • You can now specify what type of dice is available in the simple controls mode.
  • Improved the dice results speech - now speak non-numeric values where appropriate, like "Heads", "Tails", or "Smiling Pile of Poo".
  • Coins now flip correctly.
  • Fixed a problem with keyboard shortcuts.
  • Fixed a crash with Temporal Antialiasing on older hardware.


  • Added a new dice theme, "Quack".
  • Sliders in the camera settings now snap to the default values.
  • Improved the dice textures in Ultra 4K mode.
  • Fixed a problem with the reflections of very shiny dice.
  • Fixed a problem with the position of the quick access controls.
  • Fixed a problem with the position of the locked dice ring.
  • Fixed the expiry date of the cereal.


  • Added camera settings for fancy visual effects including depth of field blur and film grain! Press and hold the camera button to access them quickly.
  • Added a button to save a picture of the dice tray or the About screen to your photo library. Yes, I added a photo mode to a dice app.
  • Added two new tray themes, "Encom", and "Mifune".
  • Added an option to control the lighting of the tray.
  • Added options for temporal antialiasing and screen space ambient occlusion.
  • Added an option to the dice preset editor to not clear the tray when rolling that preset.
  • Added keyboard shortcuts to move the camera between dice.
  • Tap a dice in the cinematic or dice camera modes to focus on it, tap it again to zoom out.
  • Fixed various problems with the cinematic camera mode.


  • Added a new "Ultra 4K" graphics mode for sharper dice text.
  • Added a cinematic camera angle for when you roll a critical hit or fail.
  • Added seven new dice fonts.
  • Improved the look of the dice tray.
  • The "Use traditional D6" option will now change all the D6 icons to be pip dice.
  • Fixed a problem with the vertical alignment of emoji when using certain dice fonts.


  • The previously locked bonus dice themes, "Artifact", "Gold Pieces", "Carbon Fiber", and "Rock & Roll", are now available for everybody.
  • Added four new bonus dice themes that are unlocked if you've ever put anything in the tip jar. A little thank you from us for your extra help!
  • Added a new tray theme, "Dryad".
  • Added two new dice fonts, "Outlands", and "Groundbreaker".
  • Added basic AppleScript support for rolling dice and getting results (on macOS).
  • Added an option to automatically copy the result of the last roll to the clipboard.
  • Command-C now copies the result to the clipboard as well.
  • The dice:// URL scheme can now control the app better, and everything is documented in the help.
  • Improved the textures for the dark tray theme.
  • Fixed a problem with the dice display at the bottom becoming blank.
  • Fixed a problem selecting bonus dice themes from the menu bar (on macOS).


  • Fixed a problem with some settings not changing in the watch app.
  • Fixed a problem with sounds when switching between different outputs.
  • Fixed a crash in the watch app when playing sounds.


  • Added various custom roll functions to the "Type to Roll" section. Think of them as magic spells which are cast after the dice have been rolled! For example:
    • 4D6 (Drop Lowest)
    • 10D20 (Keep Highest 5)
    • 2D12 (Drop < 8)
    • 50D6 (Keep >= 3)
    • 10D6 (Drop 2..5)
    • 1D20 (Reroll 1)
    • 4D20 (Reroll Even)
    • 1D6 (Explode 6)
    • See the help for a full guide.
  • Added a dice set editor that lets you edit the dice and name, as well as add a custom roll function.
  • Added some round colors to the preset dice images.
  • You can now click and hold on the background of the tray to quickly unlock all dice.


  • Added support for coins, including custom D2 dice.
  • Added a delete button that clears the last rolled dice, while leaving the rest intact.
  • Added an option to automatically reroll any dice that don't land exactly flat.
  • Added an option to show the dice breakdown automatically for non-numeric dice.
  • Added experimental support for exporting the current state of the dice and tray as a 3D object.
  • Start any "Type to Roll" string with a "+" to add those dice without clearing the tray first.
  • Improved dice audio with stereo and reverb options.
  • Improved dice shadows in Basic and Advanced graphics mode.
  • Improved startup performance.
  • Fixed a problem with the "Type to Roll" buttons.
  • Fixed a problem with the font on the D6.
  • Fixed a problem with the breakdown display for Fate dice.
  • Fixed a number of physics glitches.
  • Fixed a number of graphical glitches.
  • Added a relatively simple About screen.


  • Added support for iOS 14, including widgets that show recent results and let you quickly roll dice.
  • You can now choose a custom font for each dice theme.
  • You can now roll dice in the background via Siri Shortcuts, and use the results in an automation.
  • You can now roll dice sets by name in the "Type to Roll" section, and via Siri Shortcuts.
  • You can also roll dice and sets by opening a URL of the form dice://roll/4D20.
  • Fixed a performance problem with sounds and locked dice.
  • Fixed a problem with some dice not restoring correctly when opening the app.


  • Added a tip jar, in case you want to drop some spare coins our way. It doesn't unlock anything except our thanks!
  • Added a history section which shows recent dice rolls including date, time, and result.
  • Added a speech section to the advanced settings where you can change the voice, volume, pitch, and speaking rate.
  • Changed the default speech behaviour to only read the last rolled dice, but added an option to always read the total.
  • The numeric keypad clear key now clears the tray.
  • Fixed a problem with the dice statistics being empty.
  • Fixed a problem with the breakdown results for the D10.
  • Fixed a problem with some custom images being drawn too small.


  • Improved button layout.
  • Fixed a problem with the D10 where it was returning values of 0-9 rather than 1-10.
  • Fixed a problem displaying the breakdown for the first face of a single dice.
  • Fixed a problem with the position of the totals when the FPS counter was showing.
  • Fixed a problem toggling the FPS counter from the keyboard.


  • Improved support for mice and trackpads.
  • If a custom dice face name contains a "/", it will be split for the breakdown total. For example, "Advantage/Advantage" will result in plus two for "Advantage".
  • Similarly, anything in brackets in the face name will be treated as a comment, and ignored for the purposes of the breakdown.
  • Fixed a problem exporting custom dice.


  • You can now create custom D4, D8, D10, D12, and D20 dice.
  • You can now put any image or text on the faces of custom dice.
  • Added the ability to list results by the number of occurrences of each face - eg "heads" vs "tails".
  • Added an option to hide the total during rolls to minimize distraction.
  • Added an option to switch off the tap and hold gesture to lock/unlock dice.
  • Improved the import/export of custom dice and dice sets.
  • Camera position is maintained when resizing windows.
  • Now remember the last entered "Type to Roll" text.
  • Significant performance improvements, especially with dice sounds on.
  • All dice models and settings are now shared across multiple windows, greatly reducing memory usage.
  • Fixed a problem with Siri Shortcuts not working if the app wasn't already running.
  • Fixed a problem with not announcing critical rolls if there was a modifier.
  • Dice now requires iOS 13 or later, and watchOS 6 or later.


  • The option to announce critical D20 rolls is now actually optional.


  • Added an option to announce critical D20 rolls.
  • Added an option to only use the energy saver when the device isn't connected to an external power source.
  • Fixed a problem editing custom dice on iOS 12.
  • Fixed a problem with sounds not working if you switched out of the app.
  • Fixed a problem speaking custom dice names.
  • Fixed a problem speaking dice totals on the Apple Watch.
  • Bananas are now yellow again.


  • Added the ability to create custom D6 dice with a variety of faces and values.
  • Added a D2 and D3, based on the D6, along with a number of other custom dice.
  • Added an option for simple kid-friendly controls.
  • Added an option to lock and unlock dice with a single tap.
  • Added an option to use a light app icon.
  • Added a wide range of options to fine tune graphics and physics performance.
  • Improved the "Type to Roll" user interface.
  • You can now roll dice with up to six different styles at the same time, and save them to sets.


  • Faster startup! Reduced power consumption!
  • Added options for an energy saving mode, which significantly reduces the power used when the app is idle.
  • Added a new dice theme, "Pearwood", made from the finest luggage.
  • Added support for the Touch Bar.
  • You can now export all settings to a file and import that elsewhere, including into the iOS version.
  • You can now roll dice with up to four different styles at the same time, and save them to sets.
  • You can now use the suffixes [a], [b], [c], and [d] when typing a roll to specify the style.
  • You can now change the color of the dice numerals.
  • Changed the dice numeral font to San Francisco Rounded.
  • Added more green tints.
  • Fixed a problem with the dialogs not letting you type certain characters.
  • Fixed a problem with typing modifiers.


  • Fixed a problem with the app failing to launch when streaming media to an AirPlay 2 device.


  • Added a throw strength slider to the advanced settings.
  • Fixed a problem with all the dice being mysteriously invisible.
  • Fixed a problem with the watch app complication only being a gray square on some watch faces.


  • Added over five hundred new dice themes! Kinda. You can now apply tint colors to all the existing themes.
  • Added six new real dice themes, "Ice", "Marble", "Mirror", "Nebula", "Facet", and "Vertex".
  • Added an option to set the graphics mode to basic, advanced, or ultra, on any device.
  • Added an option for 120Hz frame rates on iPad Pro devices that support it.
  • Added an option to disable shake to reroll.
  • Added an option to increase text contrast.
  • You can now shake to reroll on the watch.
  • Apple TV version now included!


  • Added full support for iOS 13.
  • Added support for automatically switching theme to match Dark Mode on iOS 13.
  • Added support for directly entering dice rolls into Siri Shortcuts on iOS 13.
  • Added an experimental option for dice to reflect each other on iOS 13.
  • Added a "Type to Roll" button so you can quickly roll lots of dice just by typing.
  • Added a button to switch between the two cameras.
  • Added a new dice theme, "Graffiti".
  • Added keyboard shortcuts for rolling dice sets.
  • Added keyboard shortcuts for pan, zoom, and rotate.
  • Added an option to use a huge dice tray.
  • Added an option to switch off haptic feedback.
  • Improved the haptic feedback on iOS 13, now takes into account the weight of the dice.
  • Improved the dice rolling physics.
  • Fixed a problem rolling D10s with Siri.
  • Fixed a problem with the dark theme being too bright on iOS 13.
  • Fixed a problem with the traditional D6 not resetting along with the factory settings.
  • Fixed a problem rendering the D6 on older hardware.
  • Fixed a problem with the tray being tiny at startup.
  • Added an easter egg for Vailo.


  • Added an Apple Watch dice app - never be without a D20 again!
  • Added Fate/Fudge six-sided dice.
  • Added an electrifying dice theme, "Storm", and a simple black on white one, "Pascal".
  • Added an option to use a traditional D6 with pips rather than numbers.
  • Added an option to reroll all the dice when you double-tap the background of the tray.
  • Added an option to also hide the total when you hide the controls.
  • Added a button to reset all the settings to the defaults.
  • Now keep statistics for all dice rolls, and you can save the results to a file.
  • Hold down the reroll button to switch on auto reroll.
  • Improved the quality of graphics on older devices.
  • Tray position is now remembered between sessions.
  • No longer say "critical success / failure" when on a device not set to English.
  • Fixed a number of problems with gestures not working correctly.


  • Added over a dozen new dice themes.
  • New dice display with optional subtotals per dice type.
  • You can now directly interact with the dice on the tray - drag them around, or push at the edges for finer movements.
  • Scroll down in the first pane of the settings to access the advanced settings. Level up!
  • Added an option to the advanced settings to initially ignore some OS gestures, such as swiping up at the bottom of the screen. Swipe a second time to trigger them.
  • Added options to turn off the gestures for zooming, panning, and rotating the tray with two fingers.
  • Added options to turn off the gestures for flicking, nudging, and dragging the dice with one finger.
  • Added an option to use moon gravity. DICE ON THE MOON!
  • Added an "Ultra Graphics" option that will use up all your battery very quickly, along with some other graphics options.
  • The "Clear" button no longer resets the camera position, but there is now a "Reset" button that helpfully appears and does.
  • You can now rename presets by tapping on them in the list when in edit mode.
  • Tapping the screen will now always show the controls if they are hidden.
  • Buttons now fill the side of a horizontal iPhone 6/7/8 Plus.
  • Fixed a problem that could cause the spoken total to differ from the displayed one.
  • Fixed a hole in the ceiling through which dice could escape.
  • Improved the "Lava" dice theme".


  • Added a new dice theme, "Lava".
  • Added optional sound effects for rolling dice.
  • Added support for Siri - you can now set a voice shortcut for rolling a dice set.
  • You can now import and export dice sets, and share them with other people.
  • You can now tap and hold dice to lock them into position. When locked, a blue ring will appear around them, and they will stay put when you reroll. Tap and hold again to unlock.
  • You can now pan around using two fingers when the dice camera is active.
  • You can now rotate the dice tray using two fingers.
  • Improved the dice physics - the dice roll better and have different weights.
  • The D20 is now slightly bigger, as befits its important status.
  • Press and hold the dice buttons to fire a constant stream of dice.
  • Tap the question mark icon in the settings to get help for every option.
  • Tap the version number in the settings to see the version history.
  • Tap the compose icon in settings to send feedback via email.
  • The easter egg no longer stops music or podcasts from playing.
  • Fixed a problem with some dice sets ending up as blank lines.