How to make an osu! beatmap
An osu! standard mapping guide, from an empty timeline to a finished .osz.
An osu! standard beatmap is a set of hit circles, sliders and spinners, each placed at a moment in the song and at a spot on the playfield. Good maps feel like the music: you click on the beats you hear, and the cursor moves in a way that matches how the song flows. This guide walks through making one in the osu! editor. If you map osu! mania instead, see how to make an osu! mania beatmap.
1. What you need
- The song. A good-quality .mp3 or .ogg of the version you want to map. Cut or edit the audio before you start: changing it later shifts every object.
- osu!, which is free. If you don't have it yet, see New to osu!.
- Time with the song. Listen several times first. Know where the intro, verses, choruses and the quiet parts are, and what you want each section to feel like.
- Optional: a background image (1920×1080 is the usual size).
Open the editor and create a new beatmap from your audio file. The setup screen asks for the song's title and artist, your name as the creator and a difficulty name; you can change all of these later.
2. Find your way around the osu! editor
The editor is split into a few screens:
- Compose — where you place and move hit objects. Most of your time is spent here.
- Timing — timing points: the song's BPM and offset, plus later changes such as slider velocity and hitsound volume.
- Song setup — metadata (title, artist, creator, tags), difficulty settings and combo colours.
- Design — the storyboard. You can make a complete map without touching it.
In osu!stable, F1–F4 switch between Compose, Design, Timing and Song setup, and F5 starts a test play from the current position. osu!lazer's editor has the same building blocks with its own layout; the full list of shortcuts is on the osu! wiki's shortcut key reference.
3. Set the timing: BPM and offset
Timing comes first because every object snaps to it. A wrong grid makes every circle on it slightly early or late, and no amount of good placement fixes that.
- BPM — beats per minute, which sets how far apart the grid's ticks are.
- Offset — the exact time, in milliseconds, of the first beat the grid starts from.
You set both with an uninherited timing point (a red line). In osu!stable, F6 opens the timing and control points panel and Ctrl+P adds an uninherited timing point at the current time. Play the song with the metronome on and adjust until the clicks sit exactly on the beat.
Songs whose tempo changes need a new red timing point wherever the tempo changes. Live recordings and songs without a click track may need several.
For practical ways to find a song's BPM, see BPM and offset in osu!, explained.
4. Place hit circles on the rhythm
Hit circles are the core of every osu! map: the player clicks each one as its approach circle closes in. Each circle should be there because of a sound you can point to.
- Beat snap divisor. The divisor decides which ticks objects snap to: 1/1 is every beat, 1/2 every half beat, 1/4 every quarter. In osu!stable, Shift+1–Shift+9 set it directly. Most songs use 1/2 and 1/4; triplet rhythms need 1/3 or 1/6.
- Choose a sound to follow in each section — drums, vocals or the melody — and stay with it long enough that the player can read the pattern. Mixing layers at random is the most common reason a map feels confusing.
- New combos. Start a new combo (Q in osu!stable) at the start of a musical phrase, often every bar or two. Combo numbers help the player read where the rhythm is going.
Leave gaps where the music rests. A map that never stops is tiring and usually ignores what the song is doing.
5. Create sliders and repeat sliders
A slider has a head, a body and a tail: the player clicks the head on time, then follows the slider ball along the path to the end. Sliders are good for held notes, long vocal lines and sounds that carry on after the hit.
- Drawing a slider. With the slider tool, click to place the head, click again to add anchors that bend the path, double-click an anchor to make a sharp (red) corner, and right-click to finish. You can move, add or remove anchors afterwards.
- Repeat sliders. A reverse arrow sends the ball back along the same path. Repeats suit sounds that repeat at the same pitch, such as a hi-hat pattern or a held synth pulsing on the beat.
- Slider velocity. How fast the ball moves depends on the map's base slider velocity and the current timing section's multiplier. Changing it lets slow sections feel calm and intense ones feel fast — but sudden changes are hard to read, so change it with the music.
- Slider ticks are the small dots along the body; you can change how many there are in the Timing section.
Keep shapes readable: smooth curves, no paths that cross back over themselves, and slider ends that leave the cursor somewhere sensible for the next object.
6. Use spinners sparingly
A spinner fills the screen: the player holds the button and spins the cursor around the centre until it ends. Spinners suit long sustained sounds, the end of a song or a break between sections.
Leave a little time after a spinner before the next object, so the player can find their cursor again. Spinners that are very short or that end right before a dense section are frustrating to play.
7. Control spacing, rhythm and difficulty
In osu! standard, the distance between objects is part of the difficulty: it decides how far and how fast the cursor has to move.
- Distance snap (Y in osu!stable) keeps the spacing proportional to time, so objects that are further apart in time are further apart on the playfield. It's the easiest way to keep a map readable, especially on easier difficulties.
- Grid snap (T) aligns objects to a grid, which helps with tidy, symmetrical patterns.
- Jumps and streams. Large spacing between objects creates jumps; long runs of closely spaced 1/4 circles are streams. Use jumps for strong, emphasized sounds and streams for fast continuous drums.
- Difficulty settings. Circle Size sets how big circles are, Approach Rate how early objects appear, Overall Difficulty how strict the timing windows are, and HP Drain how quickly health drops. Raise them together as the difficulty goes up.
Build a spread. A mapset usually has several difficulties that rise gradually. Easier ones use simpler rhythms (more 1/1 and 1/2), tighter spacing and fewer sudden changes; harder ones add 1/4 rhythms, jumps and streams.
8. Test, fix and export
- Play it with test mode (F5 in osu!stable), all the way through — not just the section you just made.
- Check the timing again while playing; small offset errors are easier to feel than to see.
- Look for anything that surprises you for the wrong reason: objects hidden under sliders, overlaps that are hard to read, or spacing that doesn't match the rhythm.
- Check consistency across the song and between the difficulties in the set.
- Ask for feedback — other players will notice things you can't see on your own map.
When you're done, fill in the metadata (title, artist, creator, source and tags) and add a background. Export the mapset as a .osz from the editor; anyone can install it by dragging it onto the osu! window — see how to add beatmaps to osu!.
To share a map on the osu! website, read the osu! ranking criteria and the osu! wiki's beatmapping articles first.
9. Use OsuGAI as an AI-assisted starting point
Mapping a full osu! standard mapset by hand takes many hours, and most songs are never mapped at all. OsuGAI, DanceGAI's osu! AI mapper, can make a playable first version from a song in about half a minute:
- Add the song on the AI osu! beatmap generator — upload an MP3, OGG or WAV, or paste an osu! beatmap link.
- Pick the difficulties, with star targets from ★1 to ★10. Each result is named after its measured star rating; in this beta, maps often come out harder than the target.
- Adjust the style if you like — sliders, sharp angles, spacing changes and stream spacing, per difficulty.
- Create, preview it in the browser with the song, and download the .osz.
- Make it yours — open it in the osu! editor and rework the parts you'd map differently, using everything above.
OsuGAI is in beta: slider shapes can be rough, new combos follow a fixed rule, and it hasn't been widely playtested. Read what the beta means before you rely on it.
AI osu! beatmap generator (OsuGAI)
AI doesn't replace mapping judgment
A skilled mapper still makes better maps. Mapping is interpretation — deciding which sound matters, how the cursor should move and when the player needs a rest — and that's the part this guide is really about. AI is for the songs that would otherwise have no map at all, or a quick first draft you then shape yourself.