ADVERTISEMENT

What is a 'purse Kindle'? The viral trend turning tiny MP3 players into pocket e-readers

It's not an Amazon product.

Published Jun 19, 2026 10:52 pm
So, what exactly is a "purse Kindle"?
Despite the name, a purse Kindle has nothing to do with Amazon. It is not a miniaturized version of the Kindle e-reader. The term refers to a small, budget Android-based MP3 player, most commonly the Oilsky or Mechen brand devices sold on Amazon and AliExpress, and locally, in Lazada or Shopee, onto which users sideload or install the Kindle app from the Google Play Store.
The result is an ultra-compact, dedicated reading device that slips into even the smallest crossbody bag or pocket. The screen is typically about 3 to 4 inches, making it considerably smaller than the base-model Kindle.
The trend appears to have originated when a BookTok creator. Viewers noticed her small device and began asking questions about it, which she responded that it's her "purse Kindle." The nickname remained ever since.
Which devices are people using?
The most popular purse Kindle device is the Oilsky MP3 Player, typically priced between $50 (About P3,000) and $70 (About P4,000) depending on the variant. It runs a version of Android, supports Wi-Fi and Bluetooth, accepts microSD cards up to 512GB, and comes bundled with a case, screen protector, wired headphones, and a charging cable.
Other popular choices include the Mechen MP3 player and various unbranded AliExpress alternatives that cost as little as $30 (About P1,800). Since these devices run Android and include the Google Play Store.
How does it compare to a real Kindle?
The purse Kindle is not a true e-reader. It uses an LCD screen rather than Amazon's E Ink technology, which means it lacks the paper-like matte finish, the eye-comfort of E Ink in bright sunlight, and the legendary battery life of a real Kindle (weeks on a single charge versus hours for an LCD device).
Why did this trend blow up on BookTok?
BookTok, the thriving reading community on TikTok and its adjacent platforms, has a well-documented appetite for reading accessories: aesthetic bookmarks, Kindle cases, reading journals, and book sleeves regularly go viral. The purse Kindle hit several of BookTok's sweet spots at once.
First, it's visually distinctive. A tiny, sticker-covered device showing Kindle pages is inherently camera-friendly, it stands out in a flat-lay or a "what's in my bag" video in a way a normal phone or Kindle does not.
Second, it solves a real pain point. Avid readers know the frustration of reaching for their phone for a quick reading session and being sucked into notifications instead. A dedicated device with only reading apps sidesteps that problem entirely.
Third, and perhaps most powerfully: it's highly customizable. Creators on TikTok have documented decorating their purse Kindles with stickers, pop sockets, wristlet straps, and custom cases, turning a $50 MP3 player into a personalized reading accessory. In the BookTok aesthetic economy, that kind of personalization is irresistible.

Related Tags

Purse Kindle MP3
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; } }

{{ static_articles_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.