Markets

North Korea

The world's most isolated market economy, operating entirely outside global commerce systems with brands developed in complete information isolation from international trends.

4 Brands
North Korea

Isolation Research Lab

The world's only market developing entirely outside global commerce systems. Documenting DPRK brands reveals what commerce looks like when isolated from Western platforms, international trends, and digital marketing—providing unique insights into brand development in complete information isolation.

Population 26M
GDP $18 billion (estimated)
Growth Unknown
Premium Growth Unknown

Trade Access for North Korea Brands

Trade accessible
Trade restricted

Explore Brands by Location

Interactive map showing brand locations across emerging markets. Use proximity search, view regional clusters, and explore nearby brands.

Use arrow keys to pan, plus and minus to zoom. Click markers to view brand details.

© OpenStreetMap contributors · © CARTO

Resilient Brands

Taedonggang Beer
Resilient Brand

Taedonggang Beer

A dead English brewery, shipped 8,500 km to a Pyongyang cabbage field. Now 13 varieties, ~70% market share, exports defying UN sanctions.

Pyongyang 🇰🇵
Founded 2002
State-owned · Manufacturer

Profiled Brands

Kumgangsan

Kumgangsan

Three names, one factory, 80 years. A DPRK state enterprise that survived famine and sanctions by reinventing everything except the factory.

Sinuiju, North Pyongan 🇰🇵
Founded 1945
State-owned · Manufacturer
Mirae

Mirae

Outproduces North Korea's top cosmetics factory. Never visited by Kim Jong Un. Chinese partner untraceable. The DPRK's most hidden beauty brand.

Hyangsan, North Pyongan 🇰🇵
Founded 2011
State-owned · Manufacturer
website: feature.properties.website || '', tier: feature.properties.arcStatus || 'basic' })); this.loading = false; // Update hero brand count const heroCount = document.getElementById('hero-brand-count'); if (heroCount) { const brandWord = this.brands.length === 1 ? 'brand' : 'Brands'; heroCount.innerHTML = this.brands.length + ' ' + brandWord; } console.log('Loaded ' + this.brands.length + ' brands for ' + taxonomyType + ': ' + termSlug); } catch (error) { console.error('Error loading brand data:', error); this.brands = []; this.loading = false; } // Initialize filters from URL parameters const params = new URLSearchParams(window.location.search); if (params.has('search')) this.search = params.get('search'); if (params.has('country')) this.country = params.get('country'); if (params.has('tier')) this.brandTier = params.get('tier'); if (params.has('website')) this.hasWebsite = params.get('website') === 'true'; // Watch for filter changes and update URL (debounced for search) let searchTimeout; this.$watch('search', () => { clearTimeout(searchTimeout); searchTimeout = setTimeout(() => this.updateURL(), 300); }); this.$watch('country', () => this.updateURL()); this.$watch('brandTier', () => this.updateURL()); this.$watch('hasWebsite', () => this.updateURL()); }, updateURL() { const params = new URLSearchParams(); if (this.search) params.set('search', this.search); if (this.country) params.set('country', this.country); if (this.brandTier) params.set('tier', this.brandTier); if (this.hasWebsite) params.set('website', 'true'); const newURL = params.toString() ? window.location.pathname + '?' + params.toString() : window.location.pathname; window.history.pushState({}, '', newURL); }, get activeFilterCount() { let count = 0; if (this.search) count++; if (this.country) count++; if (this.brandTier) count++; if (this.hasWebsite) count++; return count; }, get filteredBrands() { return this.brands.filter(brand => { const matchesSearch = !this.search || brand.name.toLowerCase().includes(this.search.toLowerCase()); const matchesCountry = !this.country || brand.countryCode === this.country; const matchesTier = !this.brandTier || brand.tier === this.brandTier; const matchesWebsite = !this.hasWebsite || brand.website; return matchesSearch && matchesCountry && matchesTier && matchesWebsite; }); }, get sortedBrands() { return [...this.filteredBrands].sort((a, b) => { let aVal, bVal; if (this.sortBy === 'founded') { aVal = a.founded || 0; bVal = b.founded || 0; } else if (this.sortBy === 'tier') { const tierOrder = { 'complete': 3, 'partial': 2, 'basic': 1 }; aVal = tierOrder[a.tier] || 0; bVal = tierOrder[b.tier] || 0; } else if (this.sortBy === 'country') { aVal = a.country || ''; bVal = b.country || ''; } else if (this.sortBy === 'city') { aVal = a.city || ''; bVal = b.city || ''; } else { aVal = a.name || ''; bVal = b.name || ''; } if (this.sortDirection === 'asc') { return aVal > bVal ? 1 : aVal < bVal ? -1 : 0; } else { return aVal < bVal ? 1 : aVal > bVal ? -1 : 0; } }); }, get visibleCount() { return this.filteredBrands.length; }, get uniqueCountries() { return [...new Set(this.brands.map(b => b.countryCode).filter(c => c))].sort(); }, getCountryName(code) { const countryNames = { 'ru': 'Russia', 'cn': 'China', 'mn': 'Mongolia', 'et': 'Ethiopia', 'in': 'India' }; return countryNames[code] || code.toUpperCase(); }, clearAllFilters() { this.search = ''; this.country = ''; this.brandTier = ''; this.hasWebsite = false; }, removeFilter(filterName) { if (filterName === 'search') this.search = ''; else if (filterName === 'country') this.country = ''; else if (filterName === 'tier') this.brandTier = ''; else if (filterName === 'website') this.hasWebsite = false; }, sortTable(column) { if (this.sortBy === column) { this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc'; } else { this.sortBy = column; this.sortDirection = (column === 'founded') ? 'desc' : 'asc'; } }, downloadCSV() { const headers = ['Brand', 'City', 'Country', 'Founded', 'Website', 'Tier']; let csv = headers.join(',') + '\n'; this.sortedBrands.forEach(brand => { const rowData = [ this.escapeCSV(brand.name), this.escapeCSV(brand.city || '—'), this.escapeCSV(brand.country || '—'), this.escapeCSV(brand.founded ? String(brand.founded) : '—'), this.escapeCSV(brand.website || '—'), this.escapeCSV(brand.tier) ]; csv += rowData.join(',') + '\n'; }); const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' }); const link = document.createElement('a'); const url = URL.createObjectURL(blob); const today = new Date().toISOString().split('T')[0]; let filename = 'north-korea-directory-' + today; if (this.activeFilterCount > 0) { filename += '-filtered'; } filename += '.csv'; link.setAttribute('href', url); link.setAttribute('download', filename); link.style.visibility = 'hidden'; document.body.appendChild(link); link.click(); document.body.removeChild(link); }, escapeCSV(str) { if (!str) return ''; const comma = String.fromCharCode(44); const quote = String.fromCharCode(34); const newline = String.fromCharCode(10); if (str.includes(comma) || str.includes(quote) || str.includes(newline)) { return quote + str.replace(new RegExp(quote, 'g'), quote + quote) + quote; } return str; } }" class="directory-table-container">
Brand City Country Year WebsiteTier
End of Directory Listing (Hub-only feature) */}}

Related Insights

The Founder Transition Wave
Whitepaper
🇷🇺 🇨🇳 🇮🇳 🇻🇳 🇮🇩 +13 23 min read

The Founder Transition Wave

A generation of founders across 46 markets is reaching the age at which businesses change hands — and almost none of it shows up in the data.