Граничит на северо-востоке с Пушкиногорским и Новоржевским районами, на юго-востоке с Бежаницким и Пустошкинским районами, на юго-западе с Себежским районом, на северо-западе с Красногородским районом Псковской области.
Линия границы Опочецкого муниципального округа Псковской области начинается от точки, находящейся на автодороге Санкт-Петербург - Киев по смежеству с Пушкиногорским районом, которая расположена в 1,8 км от поворота на дер. Матюшкино, далее граница идет в южном направлении, проходит между автодорогой Санкт-Петербург - Киев и урочищем Круглый Мох, затем она дважды пересекает автодорогу Санкт-Петербург - Киев и меняет направление на восточное, идет ломаной линией по лесу и просеке, затем меняет направление на северо-восточное, идет ломаной линией, с запада огибает дер. Карташи и дер. Карузы с прилегающими к ним сельхозугодьями, пересекает приток р. Великая, доходит до р. Великая, далее меняет направление на южное, идет по левому берегу р. Великая вверх по течению 6,0 км, далее граница идет в южном направлении, огибая сельхозугодья, доходит до р. Кудка, идет вверх по течению по левому берегу р. Кудка 0,5 км, доходит до дороги Пушкинские Горы - Барабаны, меняет направление на юго-западное, идет вдоль дороги Пушкинские Горы - Барабаны 1,5 км, пересекает дорогу Пушкинские Горы - Барабаны, меняет направление на северо-восточное, вновь доходит до р. Кудка, далее граница идет в южном направлении по левому берегу р. Кудка вверх по течению 4,0 км мимо дер. Зуево, дер. Литвиново, далее идет вдоль левого берега р. Кудка, пересекает урочище Костряково, ломаной линией идет по сельхозугодьям, доходит до р. Кудка, идет по левому берегу р. Кудка вверх по течению 4,0 км, далее граница идет в северо-восточном направлении, проходит между урочищами Ягодино и Костры, далее, дойдя до дер. Сумино, граница меняет направление на юго-восточное, идет ломаной линией по лесу, огибает дер. Черногузово, идет по канаве, доходит до р. Лисовка, меняет направление на северо-восточное, идет по правому берегу р. Лисовка вверх по течению 0,5 км, пересекает урочище Перестреловские Суки, идет ломаной линией по лесу, пересекает р. Гвоздня, идет по правому берегу р. Гвоздня вверх по течению 3,7 км, затем меняет направление на восточное, продолжая идти ломаной линией по лесу, далее идет в северо-восточном направлении, доходит до р. Шесть, далее граница идет в юго-восточном, а затем в южном направлении по левому берегу р. Шесть вверх по течению 7,0 км, далее граница идет в восточном направлении, пересекает автодорогу Духново - дорога Болгатово - Новоржев, затем граница идет в северо-западном направлении вдоль автодороги, идя ломаной линией по лесу, меняет направление на юго-восточное, проходит между дер. Искорки и дер. Лисичино, доходит до р. Глядня, идет по правому берегу р. Глядня вверх по течению 0,7 км, далее идет ломаной линией по границам сельхозугодий, вновь доходит до р. Глядня, идет по правому берегу р. Глядня вверх по течению 0,6 км, пересекает р. Глядня, затем продолжает идти ломаной линией по лесу вдоль левого берега р. Глядня, далее снова пересекает р. Глядня, идет по правому берегу р. Глядня вверх по течению 2,8 км, затем граница меняет направление на северное, а затем на северо-восточное, идет ломаной линией по лесу мимо дер. Юрино, урочища Клюки, далее граница идет в северо-восточном направлении ломаной линией по лесу, пересекает р. Вержа, электролинию и полевую дорогу между дер. Махново и дер. Пожар, подходит к озеру Студенецкое, огибает с юго-западной стороны озеро Студенецкое, затем граница идет ломаной линией по лесу в южном направлении, огибает с северной и восточной сторон озеро Варганец, идет в южном направлении, подходит к озеру Алешно, идет по восточному берегу озера Алешно, далее идет вдоль истока вниз по течению 0,5 км озера Алешно, подходит к озеру Ольховец, идет по восточному берегу озера Ольховец, пересекает р. Алоля, идет по левому берегу р. Алоля до озера Жилинское, идет по западному берегу озера Жилинское до р. Алоля, затем идет по левому берегу р. Алоля вниз по течению 0,3 км, далее граница меняет свое направление на северо-восточное, а затем пересекает р. Алоля и идет ломаной линией по лесу мимо урочищ Соколы, Стебехи, идет восточнее озера Долгое, подходит к озеру Островня, идет по западному берегу озера Островня, далее идет ломаной линией по лесу между урочищем Агафонково и дер. Бор, пересекает автодорогу Болгатово - Кудеверь, идет ломаной линией по лесу вдоль правого берега р. Алоля, подходит к озеру Боровно, идет по западному берегу озера Боровно, далее граница идет по левому берегу р. Алоля вниз по течению 2,0 км, затем граница идет вдоль правого берега р. Алоля ломаной линией по лесу, на уровне дер. Глушнево пересекает р. Алоля и идет вдоль левого берега р. Алоля ломаной линией по лесу, на уровне впадения р. Гнилая в р. Алоля граница вновь пересекает р. Алоля и идет ломаной линией по лесу, огибает урочище Пекалиха, подходит к озеру Зизи, идет по северному берегу озера Зизи, продолжает идти ломаной линией по лесу, огибает урочище Холмы, проходит между дер. Бешенкино и урочищем Убежище, доходит до ручья, идет по ручью 0,5 км, далее, идя ломаной линией по лесу, трижды пересекает ручей, с западной стороны огибает урочище Боровые, оставляя его за границей муниципального округа, далее доходит до р. Алоля, идет в юго-западном, а далее в южном направлении по правому берегу р. Алоля вниз по течению 12,5 км мимо дер. Барканы, урочища Луги, дер. Рыгозы, дер. Свобода, затем продолжает идти ломаной линией по лесу в западном направлении, доходит до автодороги Щукино - Алоль, идет по дороге 1,0 км, пересекает озеро севернее дер. Мошки до р. Мошница, далее идет по левому берегу р. Мошница до озера Малая Колпина, далее огибает озеро Малая Колпина с северо-восточной, северной и западной сторон, затем граница меняет направление на юго-западное и идет ломаной линией по лесу, огибает дер. Рассохи, пересекает автодорогу Санкт-Петербург - Киев, идет ломаной линией по лесным просекам, далее меняет направление на западное, продолжая идти ломаной линией по лесным просекам, проходит южнее озер Боровно и Малое Боровно, южнее урочища Малое Боровно, южнее дер. Асташево 0,8 км, граница меняет направление на юго-западное, идет ломаной линией, пересекает канавы, затем делит дер. Ржавки, идет до ручья, по ручью пересекает бывшую железную дорогу, р. Чашница, идя в западном направлении, пересекает канавы, пересекает проселочную дорогу Жеги - Малюзино, идет извилистой линией по ручью, пересекает р. Великая, идет в северо-западном направлении по левому берегу р. Великая вниз по течению 6,4 км, далее граница идет в западном направлении ломаной линией по лесу, пересекает электролинии, доходит до автодороги Опочка - Полоцк, идет вдоль дороги Опочка - Полоцк 1,1 км, пересекает дорогу Опочка - Полоцк, доходит до озера Решетки, огибает урочище Горелое Болото, пересекает приток озера Кониновское, затем меняет направление на северо-западное и идет юго-западнее озера Кониновское в 0,1 - 0,2 км, меняет направление на северо-восточное, идет между дер. Кониново и дер. Леохново, далее продолжает идти ломаной линией по лесу, пересекает лесные дороги и канавы, доходит до р. Веть, меняет направление на западное и идет по правому берегу р. Веть, идет вниз по течению 0,6 км, затем меняет направление на юго-западное, идет ломаной линией по лесу, частично по лесным просекам, пересекает урочище Вельяшево, затем граница меняет свое направление на южное, продолжая идти ломаной линией по лесу, доходит до автодороги Мозули - Идрица, пересекает ее, идет южнее дороги 0,3 км, меняет направление на северо-западное, идет ломаной линией по лесу, огибает урочище Остов, оставляя его за границами муниципального округа, огибает дер. Власово, дер. Загарье, доходит до дороги Мозули - Идрица, пересекает р. Исса, идет вдоль дороги Мозули - Идрица 0,5 км, меняя свое направление на северо-западное, продолжает идти ломаной линией по лесным просекам вдоль р. Исса, идет мимо дер. Ключки, урочища Майзелово, далее идет в северном направлении мимо дер. Марьино, пересекает проселочную дорогу, пересекает автодорогу Опочка - Ширяево, далее в северо-восточном направлении идет ломаной линией по лесу и лесным просекам, идет по южному берегу озера Орловское, идет в северном направлении, пересекает проселочную дорогу Покровское - Крайнево, идет ломаной линией по лесным просекам, меняет направление на северо-восточное, пересекает лесные дороги и канавы, идя в восточном направлении, затем граница идет в северном направлении прямой линией по канавам, затем граница меняет направление и далее идет в восточном направлении ломаной линией по лесу, пересекает автодорогу Опочка - Красногородск, идет в северо-восточном направлении западнее дер. Кострово, пересекает торфяное болото урочища Сельские Острова, проходит между дер. Асипихино и дер. Леоново, между дер. Остроглядово и дер. Хохулино, огибает дер. Кузнечково, дер. Ратово, меняет направление на северо-западное, продолжая идти ломаной линией по лесу, пересекает полевые дороги, приток р. Внежа, проходит между урочищами Ежово и Калиха, пересекает р. Внежа, идет по левому берегу р. Внежа вниз по течению 0,6 км, меняет направление на северное, идет по канавам, пересекает урочище Голышево, пересекает р. Граенко, меняет направление на юго-восточное, идет ломаной линией, пересекает р. Граенко, идет по правому берегу р. Граенко, меняет направление на северо-западное, огибает дер. Седуниха, пересекает полевую дорогу Тригузово - Седуниха, проходит между дер. Остропяты и дер. Рябинино, дер. Войтехи и дер. Попки, идет в северо-восточном направлении, огибает дер. Лущево, идет по юго-восточной стороне болота Лущилов Мох, доходит до р. Каменка, меняет направление на южное и идет по правому берегу р. Каменка вниз по течению около 0,8 км, проходит между дер. Козырево и бывшей дер. Гаврилино, далее меняет свое направление на восточное, идет ломаной линией, пересекает р. Исса, идет ломаной линией по канавам, пересекает р. Мегровка, идет по правому берегу р. Мегровка вверх по течению 0,5 км, пересекает урочище Кавирша и приходит в исходную точку.