diff --git a/apps/web/src/app/settings/settings-form.utils.spec.ts b/apps/web/src/app/settings/settings-form.utils.spec.ts
new file mode 100644
index 000000000..68b741725
--- /dev/null
+++ b/apps/web/src/app/settings/settings-form.utils.spec.ts
@@ -0,0 +1,36 @@
+import { FormBuilder } from '@angular/forms';
+import { Settings } from '@iptvnator/shared/interfaces';
+import {
+ createSettingsForm,
+ createSettingsFromFormValue,
+} from './settings-form.utils';
+
+describe('settings form utils — strip country prefix', () => {
+ const formBuilder = new FormBuilder();
+
+ it('defaults the form control to false', () => {
+ const form = createSettingsForm(formBuilder, true);
+
+ expect(form.getRawValue().stripCountryPrefix).toBe(false);
+ });
+
+ it('carries an enabled toggle into the settings object', () => {
+ const form = createSettingsForm(formBuilder, true);
+ form.patchValue({ stripCountryPrefix: true });
+
+ const settings = createSettingsFromFormValue(form, {} as Settings);
+
+ expect(settings.stripCountryPrefix).toBe(true);
+ });
+
+ it('falls back to false when the form value is missing', () => {
+ const form = createSettingsForm(formBuilder, true);
+ form.patchValue({
+ stripCountryPrefix: null as unknown as boolean,
+ });
+
+ const settings = createSettingsFromFormValue(form, {} as Settings);
+
+ expect(settings.stripCountryPrefix).toBe(false);
+ });
+});
diff --git a/apps/web/src/app/settings/settings-form.utils.ts b/apps/web/src/app/settings/settings-form.utils.ts
index f09c4aa6e..47ec38bb9 100644
--- a/apps/web/src/app/settings/settings-form.utils.ts
+++ b/apps/web/src/app/settings/settings-form.utils.ts
@@ -55,6 +55,7 @@ export function createSettingsForm(
}),
startupBehavior: StartupBehavior.FirstView,
showExternalPlaybackBar: true,
+ stripCountryPrefix: false,
theme: Theme.SystemTheme,
mpvPlayerPath: '',
mpvPlayerArguments: '',
@@ -124,6 +125,7 @@ export function createSettingsFromFormValue(
dashboardRails: normalizeDashboardRailsSettings(value.dashboardRails),
startupBehavior: value.startupBehavior ?? StartupBehavior.FirstView,
showExternalPlaybackBar: value.showExternalPlaybackBar ?? true,
+ stripCountryPrefix: value.stripCountryPrefix ?? false,
theme: value.theme ?? Theme.SystemTheme,
mpvPlayerPath: normalizeExternalPlayerPath(value.mpvPlayerPath),
mpvPlayerArguments: normalizeExternalPlayerArguments(
diff --git a/apps/web/src/app/settings/settings-general-section.component.html b/apps/web/src/app/settings/settings-general-section.component.html
index a234e1b66..dda4b45b5 100644
--- a/apps/web/src/app/settings/settings-general-section.component.html
+++ b/apps/web/src/app/settings/settings-general-section.component.html
@@ -156,4 +156,16 @@