ADVERTISEMENT

BTS, Seventeen, NCT Dream, NCT 127, NCT, EXO top best-selling albums list in 2021

Published Jan 1, 2022 10:12 am

Korea’s Hanteo Chart released the list of the best-selling physical albums in 2021 based on the period Jan. 1 to Dec. 31, 2021.

According to Hanteo Chart, BTS’ “Butter” is the No. 1 best-selling album in 2021 with sales of 2.25 million copies.

Seventeen’s “Attacca” placed second with 1.96 million copies followed by NCT Dream’s “Hot Sauce” with 1.82 million copies in sales.

(Clockwise from top left) BTS, Seventeen, NCT Dream and NCT 127 (Big Hit Music, Pledis Entertainment, Twitter)

Seventeen’s “Your Choice” grabbed fourth place with 1.41 million copies while NCT 127’s “Sticker” (Sticky version) wound up in fifth place with 1.31 million copies.

Placing sixth to 10th places are NCT’s “Universe,” EXO’s “Don’t Fight the Feeling,” EXO member Baekhyun’s “Bambi,” NCT Dream’s “Hello Future” and ENHYPEN’s “Dimension: Dilemma.”

(Clockwise from top left) NCT, EXO, EXO's Baekhyun and ENHYPEN (Twitter, Facebook)

Here are the top 50 best-selling physical albums in Korea in 2021, according to Hanteo Chart:

1. BTS - “Butter” - 2,258,218 copies

2. Seventeen - “Attacca” - 1,966,060

3. NCT Dream - “Hot Sauce” - 1,824,266

4. Seventeen - “Your Choice” - 1,412,120

5. NCT 127 - “Sticker” (Sticky version) - 1,314,292

6. NCT - “Universe” - 1,239,936

7. EXO - “Don’t Fight the Feeling” - 1,060,661

8. EXO’s Baekhyun - “Bambi” - 1,035,908

9. NCT Dream - “Hello Future” - 995,176

10. ENHYPEN - “Dimension: Dilemma” - 994,086

11. Stray Kids - “NOEASY” - 858,721

12. BTS - “BE: Deluxe Edition” - 803,844

13. BLACKPINK’s Lisa - “Lalisa” - 765,599

14. NCT 127 - “Favorite” - 731,414

15. ATEEZ - “Zero: Fever, Pt. 3” - 698,638

16. TXT - “The Chaos Chapter: Freeze” - 698,410

17. The Boyz - “Thrill-ing” - 627,319

18. The Boyz - “Maverick” - 591,564

19. TXT - “The Chaos Chapter: Fight or Escape” - 543,118

20. BLACKPINK’s Rosé - “R” - 541,488

21. ENHYPEN - “Border: Carnival” - 498,667

22. Stray Kids - “Christmas EveL” - 497,108

23. ATEEZ - “Zero: Fever, Pt. 2” - 430,630

24. TWICE - “Formula of Love: O+T=<3” - 407,693

25. Aespa - “Savage” - 406,513

26. ATEEZ - “Fever Epilogue” - 354,144

27. EXO’s D.O. - “Empathy” - 347,979

28. NCT - “NCT 2020-Resonance” - 341,062

29. TWICE - “Taste of Love” - 340,788

30. Super Junior - “The Renaissance” - 339,569

31. ASTRO - "All Yours" (Me version) - 339,325

32. IU - "Lilac" - 333,340

33. Kang Daniel - "Yellow" - 318,464

34. Monsta X - "No Limit" - 309,070

35. ITZY - "Crazy in Love" - 307,018

36. Monsta X - "One of a Kind" - 305,530

37. ASTRO - "Switch On" - 294,485

38. WayV - "Kick Back" - 255,457

39. Red Velvet - "Queendom" - 249,111

40. Treasure - "The First Step: Treasure Effect" - 247,942

41. ITZY - "Guess Who" - 239,240

42. EXO's Kai - "Peaches" - 211,417

43. NU'EST - "Romanticize" - 208,437

44. SF9 - "Turn Over" - 205,624

45. Ive- "Eleven" - 203,128

46. TVXQ's Yunho - "NOIR" - 190,167

47. SHINee - "Don't Call Me" - 190,010

48. SF9 - "Rumination" - 187,325

49. ONEUS - "Blood Moon" - 176,491

50. (G)I-DLE - "I Burn" - 158,851

Related Tags

NCT bts EXO ENHYPEN NCTDream NCT 127 Hanteo Chart Seventeen best selling K-pop albums in 2021
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.