Platformer

Prince of Persia

Prince of Persia reimplemented in JavaScript with keyboard, gamepad and touch controls.

The prince crouches on a stone platform above a pit in the DOS Prince of Persia. Original-game reference.Play
Original-game image
Credits

Prince of Persia DOS original-game reference, frame 60 of the linked gameplay animation; not an SDLPoP or PrinceJS capture.

Game imagery remains copyright its respective rights holders. Image published at https://en.wikipedia.org/wiki/File:Prince_of_Persia_1_-_MS-DOS_-_Gameplay.gif.

Source & attribution ↗View image ↗

Quick start

  1. Open PrinceJS and click Press to Start in the game area.
  2. Use Space through the opening, then Enter to continue. Allow the brief dark transition to finish.
  3. Once Level 1 appears, use the arrow keys. Start carefully: the ledge ends in a drop.

Controls: Arrow keys move; Up jumps or climbs and Down crouches or drops. Shift context actions are documented by the creator but were not checked here.

About this version

Prince of Persia reimplemented in JavaScript with keyboard, gamepad and touch controls. Converted custom levels do not support special events.

Project
PrinceJS
Original game
Prince of Persia
Choose a version

Compare your options

Prince of Persia

Choose PrinceJS for browser and touch play, or SDLPoP for native practice tools and saves.

Read Prince of Persia guide
Browse all version comparisons →

The original Prince of Persia

Jordan Mechner’s original Prince of Persia is a side-scrolling game about running, jumping and sword fighting. Its animation began with filmed human movement, giving the prince a particular sense of weight and commitment. Mechner first made it for the Apple II; PrinceJS follows the later MS-DOS version.

The appeal is in reading a room and executing the sequence it demands. A jump, a ledge grab and a sword exchange ask for different timing. It is a good fit for players who want a compact action puzzle rather than a platform game based only on constant forward speed.

Jordan Mechner · Prince of PersiaPrinceJS · controls, options and custom levels

A browser adaptation with adjustable starting conditions

PrinceJS rebuilds the game in HTML5 and JavaScript. It includes keyboard, controller and touch input, plus links to converted custom level sets. The normal level range is 1–14; custom sets use other numbered routes. Conversions do not support special events, so a custom level is not necessarily identical to its original release.

PrinceJS · controls, options and custom levels

Learn movement and sword actions together

Use the arrow keys for movement, jumping, climbing and combat positioning. Shift handles actions including grabbing an edge and striking with the sword; Up blocks in combat, and Down sheathes the weapon. On a phone, use landscape and the documented touch regions: dragging between regions lets you chain a running jump into a grab.

PrinceJS · controls, options and custom levels

Keep the URL to keep your starting state

The address stores the level, maximum health, remaining time and guard strength. Bookmark that address to retain those settings. It is a level-and-settings handoff, not a promise to preserve every mid-room movement. You can also edit these parameters deliberately; lower guard strength offers a gentler way to learn sword timing without changing the basic controls.

PrinceJS · controls, options and custom levels

Before you play

Do I need the original game files?

The documented hosted route opens directly in a browser without an original-file import step.

Creator-reported · Project guide
How do I get started?

Open princejs.com. Use keyboard or controller on desktop, or the documented touch regions in landscape on mobile.

Creator-reported · Project guide
Which devices and browsers work?

Desktop and mobile browser use are documented; the mobile guide recommends landscape mode.

Creator-reported · Project guide
What are the controls?

Arrow keys move; Shift handles sword, potion and edge actions. The README also documents gamepad buttons and touch gestures.

Creator-reported · Project guide
How do saves work?

Level, health, remaining time and difficulty are stored in URL parameters; preserve the URL to retain that state.

Creator-reported · Project guide
What should I know before playing?

Converted custom levels do not support special events.

Creator-reported · Project guide
Project & original game credits
    Original project

    Keep exploring

    Prince of Persia

    Open original
    The prince crouches on a stone platform above a pit in the DOS Prince of Persia. Original-game reference.

    Prince of Persia DOS original-game reference, frame 60 of the linked gameplay animation; not an SDLPoP or PrinceJS capture. Game imagery remains copyright its respective rights holders. Image published at https://en.wikipedia.org/wiki/File:Prince_of_Persia_1_-_MS-DOS_-_Gameplay.gif. Source · Editorial-use framework