Basketball Play Creator
Draw your own basketball plays on an original NBA court in feet or FIBA court in metres, half or full, with up to five offense and five defense tokens that you label yourself. Each movement is a path of points you can drag, nudge with the arrow keys or type in, timed from a start second to an end second and drawn as a cut, a zigzag dribble or a screen. Passes are timed too, and each one travels from where the passer stands when it starts to where the receiver stands when it ends. The page keeps one ball: a pass must come from whoever holds it and a dribble must keep it, and a change that breaks that is refused with the reason. Press Play to animate the play at half, normal or double speed, or step between the moments something starts or ends, then download the frame you are looking at as a PNG or SVG with every label, or the whole play as a JSON file you can open again. Undo and redo reach back 100 changes, and the play is remembered in this browser once you change something.
ballwith 1
| player | team | x ft | y ft | now |
|---|---|---|---|---|
| 1 | offense | 30 | 25 | still |
| 2 | offense | 22 | 8 | still |
| 3 | offense | 22 | 42 | still |
| 4 | offense | 4 | 2 | still |
| 5 | offense | 4 | 48 | still |
now0.0 to 0.8 s: pass from 1 to 2
notes"Give and go" at x 38, y 44
- Court
- View
- Speed
- Players
- 5 offense, 0 defense
- Sequence
- 3 movements, 2 passes, 2.8 s
Players
Up to five a side. Each token keeps its label for the whole play; select one to relabel it, move its start or give it the ball at 0 s.
- 1, offense, starts at x 30, y 25 ft, with the ball
- 2, offense, starts at x 22, y 8 ft
- 3, offense, starts at x 22, y 42 ft
- 4, offense, starts at x 4, y 2 ft
- 5, offense, starts at x 4, y 48 ft
Sequence
Movements and passes in time order. A new one starts at the frame time; a pass goes from whoever holds the ball then. One ball: a pass needs its holder, and a dribble keeps the ball the whole time.
- 0.0 to 0.8 s: pass from 1 to 2
- 0.4 to 1.4 s: 5 screens at x 19, y 33
- 0.8 to 2.2 s: 1 cuts via x 18, y 20 to x 7, y 25
- 0.8 to 1.8 s: 2 dribbles to x 24, y 12
- 2.2 to 2.8 s: pass from 2 to 1
Notes
Short plain-text labels drawn on the court in every frame and in the exports.
- "Give and go" at x 38, y 44 ft
Play file
Your current play is remembered in this browser as you work. Download the JSON to keep it or move it to another device; opening a file checks all of it first and changes nothing if any part is wrong.
Positions are in feet: x from the left baseline, y from the top sideline. Drag a player to set where they stand at the current frame: their start before their first movement, or the end of their last one after it. Select a movement to drag its diamonds. From the keyboard, Tab to a player or a diamond and use the arrow keys, Shift for bigger steps; every drag also has number fields above. Play animates only when you press it; Previous step and Next step jump between the moments something starts or ends.
Common questions
- How do I draw a basketball play?
- Start from the example, or press New blank play for five offense players with the ball in 1's hands. Drag each player to where they start, or select one and type Start x and Start y. Under Sequence, pick a player and press Add movement: the path starts at the current frame time, or when that player's current movement ends, and you drag its diamonds or type its points and its start and end seconds. Add pass sends the ball from whoever holds it at that time to another player, a teammate first, and you can change the receiver and the times under the pass. Notes put short text on the court.
- How does the animation work, and can I slow it down?
- Nothing moves until you press Play. Each player moves along their own path in straight lines between its points at an even speed, from the movement's start second to its end second, and the ball travels in a straight line during each pass. Speed plays at 0.5x, 1x or 2x, Previous step and Next step jump between the moments something starts or ends, and the slider or the Frame time box goes to any tenth of a second. If your device asks for reduced motion, Play jumps from step to step instead of gliding.
- What do the lines and tokens mean?
- A solid arrow is a cut, a zigzag arrow is a dribble, a line ending in a bar is a screen and a dashed arrow is a pass. Offense tokens are filled and defense tokens are ringed. Every path stays drawn in every frame, so a frame shows the whole diagram with each player where they are at that moment. The PNG and SVG print the same key under the court, with the whole sequence written out.
- Can I move players and paths without dragging?
- Yes. Tab to a player and use the arrow keys: each press moves where that player stands at the current frame by 1 ft on the NBA court or 0.2 m on the FIBA court, and Shift moves 5 ft or 1 m. Select a movement to show its points as diamonds, which take the same keys. Every position, point and time also has a number field under the selected item, and typed numbers change nothing until you press Apply.
- Why was my change refused?
- The page keeps the play consistent: one ball, one movement at a time for each player, and times from 0 to 60 s. A pass must start from whoever holds the ball at that moment and cannot overlap another pass, and a dribble needs the ball from its start to its end. A player in the middle of a movement at the current frame cannot be dragged there, so pick a frame where they stand still, or move that path's points. The message names the rule and what to change, and the play stays as it was.
- Which court sizes does it draw?
- The NBA court in feet (94 by 50 ft, three-point line 23 ft 9 in from the basket and 22 ft in the corners) and the FIBA court in metres (28 by 15 m, three-point line 6.75 m from the basket and 0.9 m in from the sidelines in the corners), each as a half or a full court. Switching standard scales every position in proportion to the new court, kept to a tenth of a unit. High school and college courts are not drawn with their own markings.
- Where is my play saved, and how do I share it?
- Once you change something, the play is remembered in this browser where it keeps storage. JSON downloads the whole play with every point and time, and Open play file reads it back all or nothing: a file with a problem is refused with the reason and your current play stays. Copy text copies the play in words, and if the browser refuses the clipboard the text appears in a box to select. Nothing is uploaded.
- Does the page suggest plays?
- No. It holds no playbook and makes no tactical suggestions. The give-and-go it opens on is an original sample to edit, and every other play is the one you draw.
Positions and timings are the ones you enter, kept to a tenth of a foot or metre and a tenth of a second: between your points each player moves in straight lines at an even speed, and a pass travels in a straight line from where the passer stands when it starts to where the receiver stands when it ends. Court lines follow the published NBA (94 by 50 ft) and FIBA (28 by 15 m) measurements. The page draws what you author: it holds no licensed playbook and makes no tactical recommendation.