- Reset subtitle placement safely with r, R, sub-pos, and clean configuration tests.
- Identify ASS margins, crop, panscan, profiles, and scripts causing misplaced subtitles.
- Compare windowed and fullscreen playback before making permanent mpv changes.
- Confirm the Symptom With a Minimal Clean mpv Command
- Fix Subtitle Position With r, R, and sub-pos
- Check ASS Margins and Authored Subtitle Placement
- Check Video Crop, Panscan, Aspect, and Fullscreen Behavior
- Inspect Config Files, Profiles, Scripts, and File-Specific Settings
- Rule Out Operating System and Media-Pipeline Factors
- Use Logs and Runtime Information to Find the Override
- Run a Clean Temporary Test Before Permanent Changes
- Quick Fix Checklist
- Frequently Asked Questions
When mpv subtitles appear too low, too high, cut off, or detached from the picture, the cause is usually a subtitle-position option, an accidental keyboard adjustment, an ASS subtitle margin, or a mismatch between the visible video area and the player window. Cropping, panscan, fullscreen behavior, profiles, scripts, and per-file settings can also change the result. The safest approach is to reproduce the problem without your normal configuration, identify whether it affects every subtitle track or only one file, and then change one relevant setting at a time.

Start with free Canva bundles
Browse the freebies page to claim ready-to-use Canva bundles, then get 25% off your first premium bundle after you sign up.
Free to claim. Canva-ready. Instant access.
1. Confirm the Symptom With a Minimal Clean mpv Command
Before editing mpv.conf, establish whether the placement problem comes from mpv's defaults or your custom setup. A temporary clean test disables configuration files, scripts, profiles, and custom input bindings without deleting anything.
Open a terminal, Command Prompt, or PowerShell window and run mpv with --no-config followed by the media path. Quote paths containing spaces.
- Windows:
mpv.exe --no-config "C:\Videos\sample.mkv" - Linux:
mpv --no-config "/home/user/Videos/sample.mkv" - macOS:
mpv --no-config "/Users/user/Movies/sample.mkv"
If the subtitle file is external, load it explicitly to remove subtitle discovery from the test:
mpv --no-config --sub-file="sample.ass" "sample.mkv"
Success means the subtitles return to a sensible default position and remain fully visible. If that happens, stop investigating GPU drivers, hardware decoding, HDR, audio, networking, or the media itself. The cause is almost certainly in your configuration, input bindings, profile, script, or saved state.
If the problem remains under --no-config, test another subtitle track or a simple SRT file. An issue affecting only one ASS or SSA track usually comes from that track's authored styles, margins, positioning tags, or canvas assumptions. An issue affecting all tracks is more likely related to sub-pos, video geometry, cropping, or the window mode.
1.1 Compare Internal and External Subtitles
Use mpv's track list to confirm which subtitle track is selected. Press i for the information overlay, or use the console and terminal output if available. You can also cycle subtitle tracks with the configured subtitle-track binding.
Test an embedded subtitle and a known-good external SRT against the same video. If only the embedded ASS track is misplaced, do not compensate globally with an extreme sub-pos value. That could fix one file while making every other subtitle track wrong.
1.2 Check Whether the Position Changes During Playback
Watch whether the subtitles begin in the correct place and move only after you press keys. If so, an input binding is likely changing subtitle position. If placement changes at a chapter boundary or with a different file, inspect profiles, scripts, and file-specific options.
2. Fix Subtitle Position With r, R, and sub-pos
mpv provides direct subtitle-position controls. In the standard input configuration, lowercase r and uppercase R adjust subtitle position in opposite directions. Because uppercase input normally requires Shift, an accidental key press can move subtitles without an obvious warning.
While the affected subtitle is visible, press r or R a few times and observe the movement. Use the opposite key if the text moves the wrong way. Make small adjustments rather than holding the key down.
Success means the complete subtitle line sits inside the visible picture or intended bottom margin without touching the window edge. Once the position is correct, stop pressing the keys. If the setting becomes wrong again after restarting mpv, inspect your persistent configuration instead of repeatedly correcting it during playback.
2.1 Set a Predictable sub-pos Value
The sub-pos option controls the vertical subtitle position as a percentage of the screen area. The usual default is near the bottom of the display area. Lower values move subtitles upward, while higher values move them downward. Values can extend beyond the ordinary range, so an accidental extreme value can place text partly or entirely off-screen.
Test a temporary value from the command line:
mpv --no-config --sub-pos=100 "sample.mkv"
If you want the subtitles higher, try a modestly lower value, such as:
mpv --no-config --sub-pos=90 "sample.mkv"
When you find a suitable value, place it in mpv.conf without the leading dashes:
sub-pos=90
Do not add several subtitle-position options at once. First verify that sub-pos alone produces the intended result. Success is a stable position across several ordinary videos in both windowed and fullscreen modes.
2.2 Find Conflicting Input Bindings
Open your input.conf and search for sub-pos. A custom binding may set, add to, or multiply the value. Scripts can also define bindings that override or shadow defaults.
Temporarily comment out suspicious bindings by placing # at the beginning of the line. Restart mpv and test again. Do not remove the entire configuration directory. Isolating one line is safer and preserves unrelated settings for shaders, IPC, playlists, screenshots, and hardware decoding.
3. Check ASS Margins and Authored Subtitle Placement
ASS and SSA subtitles can contain detailed styling, including margins, alignment, coordinates, movement, and explicit positioning tags. These instructions can make one track appear unusually high or low even when mpv's global subtitle position is normal.
Compare the affected ASS track with an SRT file. If SRT placement is correct but ASS placement is not, inspect ASS-specific behavior before changing global options. Dialogue events may have nonzero vertical margins, while styles can specify alignment near the top, middle, or bottom. Explicit tags such as positioning or movement instructions can override ordinary placement for individual lines.
3.1 Distinguish Intended Styling From a Player Problem
Signs that the ASS file is controlling placement include signs translated next to objects, multiple lines appearing in different screen regions, karaoke effects, or only certain dialogue events being displaced. Those may be intentional typesetting rather than an mpv player issue.
If every dialogue line in the track is clipped, the script may have been authored for a different video canvas or visible image area. Test the same subtitle with the uncropped source if available. Also compare the subtitle in a clean mpv launch before editing the file.
3.2 Use Margin Overrides Carefully
mpv includes subtitle margin and ASS-related options, but their effect depends on subtitle format, styling, and whether authored settings are being honored. Options that force ASS subtitles into margins can help when letterbox space is available, but they can also disrupt carefully positioned signs and effects.
Use temporary command-line tests first. If an ASS override improves dialogue but breaks signs, keep the original rendering and address the specific subtitle file instead. The correct stopping point is when ordinary dialogue is readable and intended typesetting remains aligned with the picture.
4. Check Video Crop, Panscan, Aspect, and Fullscreen Behavior
Subtitles are positioned relative to a rendering area. If the video is cropped, zoomed, panned, or expanded beyond the window, text can appear too close to an edge or outside the visible image. This is especially common when users configure cinematic cropping, automatic aspect scripts, or fullscreen panscan.
Search mpv.conf, profiles, and input.conf for options involving video-crop, panscan, zoom, pan, aspect, autofit, or geometry. Then test the source without those options:
mpv --no-config --sub-pos=100 "sample.mkv"
If the clean result works, restore your video-layout settings individually. Test crop first, then panscan or zoom, and finally subtitle positioning. This order reveals whether subtitles are wrong or whether part of the rendering area has simply been pushed off-screen.
4.1 Compare Windowed and Fullscreen Playback
Press f to switch between windowed and fullscreen playback. Check the same subtitle line in both modes.
- If only fullscreen is wrong, inspect panscan, display scaling, fullscreen geometry, and fullscreen-specific profiles.
- If only windowed mode is wrong, enlarge the window and review autofit or geometry settings.
- If both modes are wrong by the same amount, focus on
sub-pos, ASS styling, or bindings. - If clipping changes with window size, investigate video scaling and visible-area calculations.
Success means subtitles remain visible and reasonably placed when switching modes. Once that is true, avoid compensating with separate extreme values unless you intentionally want distinct windowed and fullscreen layouts.
4.2 Separate OSD Margins From Subtitle Margins
mpv's on-screen display and subtitles are related visually but are not the same layer. Options such as osd-margin-x and osd-margin-y affect OSD elements, including messages and some interface text. They are not a reliable fix for dialogue subtitle placement.
If volume or seek messages are misplaced but subtitles are correct, adjust OSD margins. If dialogue subtitles are misplaced but OSD messages are correct, use subtitle options. Treating them separately prevents a fix for one overlay from creating a new problem in another.

5. Inspect Config Files, Profiles, Scripts, and File-Specific Settings
A clean launch that fixes the problem confirms that customization is involved. Re-enable your setup in controlled stages rather than changing everything at once.
- Run with
--no-configand confirm correct placement. - Load your main mpv.conf without optional scripts.
- Restore input.conf and test the
randRkeys. - Re-enable profiles one at a time.
- Restore scripts and script options individually.
- Check file-specific configuration or watch-later behavior last.
Search configuration files for sub-pos, subtitle margins, ASS overrides, crop, panscan, zoom, geometry, and profile conditions. A profile activated for HDR, fullscreen, a protocol, or a video size can indirectly change the visible region even when it contains no obvious subtitle option.
5.1 Use --show-profile to Inspect Profiles
If you use named profiles, ask mpv to display the options associated with a profile:
mpv --show-profile=profile-name
Review the output for subtitle and video-layout options. Also inspect conditional profiles in mpv.conf. A profile intended for HDR video, high-resolution files, online URLs, or a particular display may apply crop, scaling, or fullscreen settings that alter apparent subtitle placement.
5.2 Test Scripts Without Deleting Them
Start with --no-config, then load only the script you want to test if your setup supports doing so. Alternatively, move one suspect script temporarily to a separate backup location while mpv is closed. Avoid downloading replacement scripts or binaries from untrusted sources.
Subtitle automation, aspect-ratio detection, cropping, autoloading, and UI scripts are the most relevant categories. Shader scripts, IPC integrations, screenshot scripts, and yt-dlp settings normally do not position subtitles, but they can coincide with profiles or bindings that do.
6. Rule Out Operating System and Media-Pipeline Factors
GPU drivers, hardware decoding, HDR output, display servers, audio backends, yt-dlp, network access, and screenshot settings are not the first suspects for a simple vertical subtitle offset. Investigate them only when the symptom indicates a broader rendering problem.
Temporarily test software decoding with --hwdec=no if subtitles are corrupted, disappear, or are clipped together with the video. If only subtitle position changes while the picture remains geometrically correct, hardware decoding is unlikely to be responsible.
On Linux, compare display-server sessions only if window sizing, DPI scaling, or fullscreen geometry is also wrong. On Windows and macOS, check display scaling when the mpv window or OSD is incorrectly sized, not merely because one ASS track has unusual margins.
6.1 Online URLs, yt-dlp, and Network Streams
For an online URL or network stream, determine whether mpv receives a real subtitle track. Use the track list and compare it with a local file. yt-dlp may help mpv discover media and subtitle resources, but it does not normally control the rendered vertical position.
If a downloaded or streamed subtitle alone is misplaced, save or test an equivalent local subtitle when permitted. If the same track remains wrong locally, the issue is in its formatting or mpv's subtitle settings rather than network access. Do not troubleshoot DNS, bandwidth, or the audio backend when subtitles load reliably and are merely too high or low.
6.2 Screenshots and the Visible Playback Result
Clarify whether subtitles are wrong during playback, only in screenshots, or both. Screenshot options can determine whether subtitles and OSD elements are included, but they do not generally fix live subtitle position.
If playback looks correct but screenshots do not, inspect screenshot inclusion settings and compare a screenshot taken with subtitles against the actual window. If both show identical clipping, return to subtitle position, ASS margins, and crop settings.
7. Use Logs and Runtime Information to Find the Override
Run mpv from a terminal so startup messages remain visible. A practical diagnostic command is:
mpv --no-config --msg-level=all=v --log-file=mpv-subtitles.log "sample.mkv"
This creates a verbose log for the clean test. You can then repeat without --no-config and compare behavior. Avoid publishing logs without reviewing them because paths, URLs, usernames, and network details may be present.
The stats overlay and track list can confirm the selected subtitle track, video dimensions, scaling behavior, and active playback state. They are more useful here than audio diagnostics. If the selected track changes unexpectedly, fix track selection before evaluating placement.
Success means you can connect the symptom to a specific option, profile, binding, script, or subtitle file. At that point, stop broad troubleshooting and modify only that source.
8. Run a Clean Temporary Test Before Permanent Changes
Use this controlled sequence to avoid masking the cause:
- Choose one local video with a known-good SRT subtitle.
- Run it with
--no-config. - Confirm placement in windowed and fullscreen modes.
- Test
--sub-pos=100, then a modest lower value if needed. - Repeat with the original subtitle track.
- Restore your main configuration.
- Reintroduce profiles, bindings, and scripts one category at a time.
Do not combine a new sub-pos, ASS override, crop adjustment, and fullscreen profile in the same test. If the result improves, you will not know which change fixed it. One-variable testing is faster overall and makes the solution reproducible.
9. Quick Fix Checklist
- Press
randRbriefly to reverse an accidental subtitle-position change. - Test the file with
mpv --no-config. - Try
--sub-pos=100, then reduce it slightly to move subtitles upward. - Compare the affected ASS track with a simple SRT subtitle.
- Search mpv.conf and input.conf for
sub-posand subtitle-margin settings. - Disable crop, panscan, zoom, and aspect scripts temporarily.
- Compare windowed and fullscreen playback.
- Keep OSD margin options separate from subtitle placement options.
- Inspect active profiles with
--show-profile. - Use a log only after the clean test narrows the problem.
10. Frequently Asked Questions
10.1 How do I move subtitles up in mpv?
Use the standard r or R bindings and observe which direction the subtitle moves. For a repeatable setting, test a lower sub-pos value from the command line and then add the confirmed value to mpv.conf.
10.2 Why are mpv subtitles cut off at the bottom?
The position may be too low, the video may be zoomed or cropped, or an ASS track may contain large margins or explicit placement. Test --no-config --sub-pos=100, compare an SRT track, and disable panscan or crop before changing unrelated playback options.
10.3 Why does the problem happen only in fullscreen?
A fullscreen profile, panscan value, display-scaling issue, or geometry change may alter the visible rendering area. Compare the same frame in windowed mode and inspect fullscreen-specific profile options.
10.4 Can hardware decoding or HDR move subtitles?
Not usually. Hardware decoding and HDR primarily affect video decoding and presentation. Test --hwdec=no only when video geometry, clipping, corruption, or overlay rendering also looks wrong. A consistent vertical offset is more likely a subtitle or layout setting.
10.5 Why is only one ASS subtitle track positioned incorrectly?
ASS subtitles can contain authored margins, alignment, coordinates, and positioning tags. If SRT subtitles and other ASS tracks work, avoid changing global placement for one track. Confirm the file's intended styling and canvas first.
10.6 When should I stop troubleshooting?
Stop when subtitles are fully visible, stable across seeking, and correctly placed in the playback modes you use. If a clean test works and one restored option recreates the problem, you have found the cause. There is no benefit in changing GPU, audio, network, yt-dlp, or screenshot settings after the relevant subtitle or video-layout option is identified.