How to make an osu! mania beatmap

A step-by-step guide to mapping, from timing to a finished .osz.

An osu! mania beatmap is a set of notes in columns, placed on a timing grid so that pressing them feels like playing the song. Making one is a craft: most of the work is listening closely and deciding what the player should feel. This guide walks through the whole process in the order mappers actually do it. It works with either osu! client — lazer or stable — since both have a built-in beatmap editor. Mapping osu! standard instead? See how to make an osu! beatmap.

1. What you need

To start, open the editor and create a new beatmap from your audio file. The setup screen asks for the song title, artist and your name as the creator — you can fill these in now or at the end.

2. Start with timing

Timing comes first because every note snaps to it. If the grid is wrong, every note on it is wrong, and no pattern can save the chart. Timing has two parts:

You set both in the editor by adding a timing point (a red line, also called uninherited). Use the metronome to check it: play through the whole song and listen for whether the clicks stay on the beat. A grid that starts right but drifts by the end means the BPM is slightly off. A grid that is consistently early or late means the offset is off.

Songs whose tempo changes need a new red timing point wherever the tempo changes. Live recordings and older songs often drift slightly; these are the hardest to time and are worth getting help with. Green (inherited) points are different: they don't change the grid, they change scroll speed and hitsound volume.

For a deeper explanation and practical ways to find a BPM, see BPM & offset in osu!, explained.

3. Decide the key count and difficulty

Key count — the number of columns — is set in the beatmap's difficulty settings. 4K and 7K are the most played; 5K, 6K, 8K and 9K have smaller but dedicated audiences. Pick the one you play, because you will be testing the chart yourself.

Target difficulty mostly comes down to note density and how demanding the patterns are. osu! calculates a star rating for every difficulty, but it is a result, not a setting — you control it through what you map. The Overall Difficulty (OD) setting controls how strict the hit timing windows are, and HP controls how fast the health bar drains.

Spread. A mapset usually contains several difficulties that rise gradually, so that players of different skill levels can all play the song. Many mappers start with the hardest difficulty to settle the song's structure, then simplify it downwards. Each step down should feel like the same song with fewer, easier notes — not a different interpretation.

4. Map the music

Every note should be there because of something in the music. Before mapping a section, decide what the player is following:

Match intensity to the song: quieter sections should be lighter, and the strongest part of the song should be the most intense part of the chart. Use the beat snap divisor to place notes precisely — 1/4 covers most music, 1/3 or 1/6 is needed for triplet rhythms, and 1/8 is for very fast passages. Don't use a finer snap than the music actually has.

5. Build patterns

Patterns are how notes are arranged across columns. The common building blocks in osu! mania:

Above all, keep patterns readable. Similar sounds should get similar patterns, so the player can learn the chart by listening. Avoid awkward hand movements that the music doesn't ask for, and keep difficulty consistent — one unexpectedly hard pattern in an otherwise easy chart is a common mistake.

6. Test and iterate

7. Finish and export the beatmap

Fill in the metadata in the setup screen — title, artist, creator, source and tags — and add a background image if you have one. Then export the mapset from the editor as a .osz, the standard beatmap package: the audio, the background and every difficulty in one file. Opening a .osz imports it into osu! — see how to install beatmaps if it doesn't show up.

If you want to share the map on the osu! website, read the osu! mania ranking criteria and the osu! wiki's beatmapping guides first.

8. Using AI to generate a starting point

Mapping a full spread of difficulties by hand takes many hours, and most songs are never mapped at all. AI generation is another way to get a chart: instead of starting from an empty editor, you start from a complete, playable mapset. This is the workflow with ManiaGAI, the generator on this site:

  1. Upload the song on the ManiaGAI generator, or paste an osu! beatmap link or mapset ID to use that mapset's song. Timing — BPM and offset, including tempo changes — is detected automatically.
  2. Choose the key count (4K–9K) and the difficulties, which run upwards from ★1.
  3. Adjust the style of each difficulty if you want, or keep the defaults, which are typical values for that key count and star rating.
  4. Generate. You get the whole mapset as one .osz in seconds.
  5. Playtest it — and if you want to make it your own, open it in the osu! editor and rework it with everything in this guide.

A song may already have an osu! beatmap, but perhaps not a 4K chart, a chart at the difficulty you want, or an osu! mania chart at all. Paste the beatmapset link and use the song as the starting point for a new ManiaGAI mapset. The imported mapset provides only the song; ManiaGAI generates a new chart — it doesn't convert or copy the existing ones.

How it works — the timing model, the training data and how we measure timing accuracy — is documented on the technology page. Regenerating a single section while keeping the rest of a chart is planned but not available yet.

9. AI doesn't replace mapping judgment

A skilled human mapper still makes better charts. Mapping is interpretation: deciding which sound matters, where the song should feel heavy, and what the chart is trying to say. AI generation is useful when the alternative is not having the chart you want at all — a song nobody has mapped, a key count or difficulty nobody made, or a draft to start from. If you share a chart that was generated or assisted by AI, say so, and don't present it as hand-mapped work.