Всем привет! Сегодня я расскажу вам, как в ВК удалить всю музыку сразу. У встроенного интерфейса нет функции удаления всех музыкальных композиций. Я вам настоятельно не рекомендую использовать сторонние программы или сервисы, которые обещают это сделать. В таком случае вы рискуете потерять или отдать свой аккаунт в руки злоумышленников. Лучше всего воспользоваться обычным java-скриптом. Именно про него мы поговорим в первом способе.
ВНИМАНИЕ! Если по каким-то причинам скрипт перестал работать из-за глобальных изменений в VK – напишите об этом в комментариях, чтобы я её поправил.
Способ 1: Удаление всех песен
Проблема встроенного функционала в том, что мы не можем удалить сразу все песни в ВК. Поэтому мы воспользуемся специальной консольной командой. Для её реализации вам понадобится браузер Google Chrome. Можете, конечно, использовать другие браузеры, на движке Chromium, но в таком случае некоторые шаги будут отличаться.
- Откройте вашу страничку.
- Перейдите в раздел «Музыка».
- Ранее мы сразу же видели все наши композиции, но разработчики решили все усложнить, и теперь нам нужно дополнительно перейти в подраздел «Моя музыка».
- Листайте в самый низ, пока на экране не будут отображаться все записи.
- Когда вы пролистаете в конец, кликните правой кнопкой мыши по пустому месту – выберите «Просмотреть код».
- Перейдите в «Console».
Читаем – как открыть консоль в браузере.
- Теперь в самом конце, где вы видите маленькую стрелочку, вставьте этот код:
(async function vkDeleteAllMusic() {
'use strict';
const SETTINGS = {
delayAfterClick: 900,
delayAfterHover: 100,
scrollDelay: 800,
scrollStep: 900,
maxEmptyPasses: 15,
maxAttemptsPerTrack: 3
};
const confirmation = prompt(
'Скрипт удалит все треки из раздела «Моя музыка».\n' +
'Для продолжения введите: УДАЛИТЬ'
);
if (confirmation !== 'УДАЛИТЬ') {
console.log('[VK Music Cleaner] Отменено пользователем.');
return;
}
window.VK_MUSIC_DELETE_STOP = false;
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
const failedTracks = new Map();
function getRows() {
return Array.from(
document.querySelectorAll(
'[data-testid="MusicTrackRow"], .audio_row'
)
);
}
function activateRow(row) {
const options = {
bubbles: true,
cancelable: true,
view: window,
button: 0
};
[
'pointerenter',
'pointerover',
'mouseenter',
'mouseover',
'mousemove'
].forEach((eventName) => {
row.dispatchEvent(new MouseEvent(eventName, options));
});
}
function findDeleteButton(row) {
const selectors = [
'[data-testid="MusicAudio_ToggleOwning"][data-testactive="true"]',
'[data-testid="MusicAudio_ToggleOwning"][aria-pressed="true"]',
'[data-testid="MusicAudio_ToggleOwning"]',
'.audio_remove'
];
for (const selector of selectors) {
const buttons = row.querySelectorAll(selector);
for (const button of buttons) {
const label = (
button.getAttribute('aria-label') ||
button.getAttribute('title') ||
button.textContent ||
''
).toLowerCase();
const active =
button.getAttribute('data-testactive') === 'true' ||
button.getAttribute('aria-pressed') === 'true';
if (
active ||
label.includes('удалить') ||
label.includes('убрать') ||
button.matches('.audio_remove')
) {
return button;
}
}
}
return null;
}
function getTrackId(row) {
return (
row.closest('[data-audio-id]')?.getAttribute('data-audio-id') ||
row.getAttribute('data-full-id') ||
row.getAttribute('data-testid') + ':' +
(row.textContent || '').trim().slice(0, 120)
);
}
function getReactProps(element) {
const key = Object.keys(element).find((name) =>
name.startsWith('__reactProps$') ||
name.startsWith('__reactEventHandlers$')
);
return key ? element[key] : null;
}
function clickButton(button) {
const props = getReactProps(button);
if (props && typeof props.onClick === 'function') {
try {
props.onClick({
type: 'click',
target: button,
currentTarget: button,
nativeEvent: {},
preventDefault() {},
stopPropagation() {},
stopImmediatePropagation() {},
isDefaultPrevented: () => false,
isPropagationStopped: () => false
});
return;
} catch (error) {
console.debug(
'[VK Music Cleaner] React-клик не сработал:',
error
);
}
}
const options = {
bubbles: true,
cancelable: true,
view: window,
button: 0
};
button.dispatchEvent(new MouseEvent('mousedown', options));
button.dispatchEvent(new MouseEvent('mouseup', options));
button.dispatchEvent(new MouseEvent('click', options));
try {
button.click();
} catch (error) {
console.debug('[VK Music Cleaner] Обычный клик не сработал:', error);
}
}
async function waitForDeletion(row, button, timeout = 6000) {
const startedAt = Date.now();
while (Date.now() - startedAt < timeout) {
if (!row.isConnected || !button.isConnected) {
return true;
}
if (
button.getAttribute('data-testactive') === 'false' ||
button.getAttribute('aria-pressed') === 'false'
) {
return true;
}
await sleep(150);
}
return false;
}
function findScrollContainer() {
const firstRow = getRows()[0];
let element = firstRow;
while (element && element !== document.body) {
const style = getComputedStyle(element);
if (
['auto', 'scroll'].includes(style.overflowY) &&
element.scrollHeight > element.clientHeight + 50
) {
return element;
}
element = element.parentElement;
}
return document.scrollingElement || document.documentElement;
}
async function scrollFurther(container) {
if (
container === document.documentElement ||
container === document.body ||
container === document.scrollingElement
) {
const before = window.scrollY;
window.scrollBy({
top: SETTINGS.scrollStep,
behavior: 'instant'
});
await sleep(SETTINGS.scrollDelay);
return window.scrollY !== before;
}
const before = container.scrollTop;
container.scrollTop += SETTINGS.scrollStep;
await sleep(SETTINGS.scrollDelay);
return container.scrollTop !== before;
}
let deleted = 0;
let emptyPasses = 0;
console.log(
'%c[VK Music Cleaner] Запуск. Для остановки выполните: window.VK_MUSIC_DELETE_STOP = true',
'color: #2688eb; font-weight: bold;'
);
while (
!window.VK_MUSIC_DELETE_STOP &&
emptyPasses < SETTINGS.maxEmptyPasses
) {
const rows = getRows();
let foundTrack = false;
for (const row of rows) {
if (window.VK_MUSIC_DELETE_STOP) {
break;
}
const trackId = getTrackId(row);
const attempts = failedTracks.get(trackId) || 0;
if (attempts >= SETTINGS.maxAttemptsPerTrack) {
continue;
}
activateRow(row);
await sleep(SETTINGS.delayAfterHover);
const button = findDeleteButton(row);
if (!button) {
continue;
}
foundTrack = true;
row.scrollIntoView({
block: 'center',
behavior: 'instant'
});
await sleep(50);
clickButton(button);
const removed = await waitForDeletion(row, button);
if (removed) {
deleted++;
failedTracks.delete(trackId);
console.log(
`%c[VK Music Cleaner] Удалено: ${deleted}`,
'color: #4bb34b;'
);
} else {
failedTracks.set(trackId, attempts + 1);
console.warn(
`[VK Music Cleaner] Трек не удалился. Попытка ${
attempts + 1
}/${SETTINGS.maxAttemptsPerTrack}:`,
trackId
);
}
await sleep(SETTINGS.delayAfterClick);
}
if (foundTrack) {
emptyPasses = 0;
continue;
}
const container = findScrollContainer();
const moved = await scrollFurther(container);
emptyPasses++;
if (!moved && emptyPasses === 5) {
container.scrollTop = 0;
window.scrollTo(0, 0);
await sleep(1000);
}
console.log(
`[VK Music Cleaner] Активные кнопки не найдены. Проверка ${emptyPasses}/${SETTINGS.maxEmptyPasses}.`
);
}
if (window.VK_MUSIC_DELETE_STOP) {
console.warn(
`[VK Music Cleaner] Остановлено. За эту сессию удалено: ${deleted}.`
);
} else {
console.log(
`%c[VK Music Cleaner] Готово. За эту сессию удалено: ${deleted}. Обновите страницу.`,
'color: #4bb34b; font-size: 14px; font-weight: bold;'
);
}
})();- Нажмите:
- Для защиты от нечаянного срабатывания скрипта, введите в алерт слово:
УДАЛИТЬ
- Еще раз нажмите:
- Поочередно начнется удаление каждой композиции в списке моей музыки. Если песен много – придется подождать. Можно ставить скрипт на ночь. Если вам нужно резко остановить применение скрипта, перезагрузите страницу или введите в консоль команду:
window.VK_MUSIC_DELETE_STOP = true;
После этого все записи убудут удалены. Вам останется перезагрузить вашу страничку. Смотрите, разработчики постоянно меняют дизайн страницы с музыкой. Если скрипт перестал работать – напишите об этом в комментариях, и я его обновлю.
Способ 2: Обычное удаление
Давайте посмотрим, как удалить музыку в ВК. В данном варианте, мы будем удалять не всю музыку, а только те треки, которые вам не нравятся.
- Откройте вашу страницу в VK.
- Слева в меню откройте раздел «Музыка» – «Моя музыка».
- Наведите на ту композицию, которую вы хотите убрать из списка и нажмите по крестику.
- После этого она будет удалена. Если же вы убрали какую-то песню по ошибке, вы можете её восстановить, нажав по кнопке с плюсиком. Чтобы музыка исчезла навсегда, просто перезагрузите страницу, нажав по клавише:
Вот и всё, дорогие друзья. Остались какие-то вопросы? – напишите в комментариях, и мы с радостью вам поможем. Всем добра и до новых встреч на портале WiFiGiD.












Спасибо! работает
А как на айфоне это сделать?
Да, класс, скрипт рабочий, пропало все

Спасибо!!!! Все работает!!
;-)Спасибо)
Единственный код, который реально помог удалить всю музыку вк. Спасибо огромное 🤩😊
27.05.24 работает
:idea:17.07.2024г. всё работает, спс большое!
Единственный способ, который помог, спасибо!
СПАСИБО !!!! Этот код действительно единственный, который помог!!!! Какое облегчение, не пришлось удалять 1к треков вручную
Помоги с скриптом 2024 год ,хром пишет введите “разрешить вставку” ввожу дальше скрипт не работает((
Подскажите, пожалуйста, с этим скриптом удалится только добавленная музыка или удалятся и добавленная музыка, и альбомы, и плейлисты?
код рабочий 05.02.2025
31.07.2026 не сработало
Спасибо, что написали. 01.08.2026 – скрипт поправил и проверил!
11.09.2026 не сработало
Только что проверил скрипт – все работает! Через какой браузер вы запускаете его? Вы точно находитесь на вкладке “Моя музыка”?