[{"data":1,"prerenderedAt":115},["ShallowReactive",2],{"content-/blog/ia-book-page-downloader":3,"authors":98},{"article":4,"surround":85},{"id":5,"title":6,"author":7,"body":8,"date":62,"dateUpdated":63,"description":64,"excerpt":63,"extension":65,"headline":66,"meta":67,"navigation":69,"path":70,"seo":71,"socialImage":72,"stem":78,"tags":79,"__hash__":84},"blog/blog/ia-book-page-downloader.md","IA Book Page Downloader, a Chrome extension","Michael Paulukonis",{"type":9,"value":10,"toc":58},"minimark",[11,29,32,35,38,41,44],[12,13,14,15,22,23,28],"p",{},"I loved working with physical paper and collage, but I don't really have the space/time these days. Instead I work with digital art in many different ways, and I've found that scans of old book pages can lead in some similar directions. There are a lot of different archive collections with free scans, and there's a great centralized collection of old, public domain works at the ",[16,17,21],"a",{"href":18,"rel":19},"https://archive.org/details/texts",[20],"nofollow","Internet Archive",". You can download PDFs or zips of jpegs, but they aren't always of the maximum resolution. For a while I was using ",[16,24,27],{"href":25,"rel":26},"https://gist.github.com/cemerson/043d3b455317d762bb1378aeac3679f3",[20],"cemerson's bookmarklet",": a JS bookmarklet that walks an archive.org reader's image URLs and prompts you through downloading them one at a time.",[12,30,31],{},"I also had to maximize the on-screen page-size, inspect the image to grab its actual URL, open that in its own tab, and click the bookmarklet. But it worked! I downloaded a lot of weird books. And often it was the blank, water-stained pages that were best!",[12,33,34],{},"And then I accidentally nuked all of my bookmarks (yes, they were backed up, but I didn't check for a month and so the backup got overwritten, long story).",[12,36,37],{},"So, since I had to get the bookmarklet back anyway, I thought I could take the opportunity to make it easier.",[12,39,40],{},"I had Claude Code turn it into a real Chrome extension — same URL logic under the hood, but now it's a toolbar icon. Click it, it auto-detects the current book's page count and image URL, you confirm a range, it downloads the lot at full resolution while you go to find more weird books to mine.",[12,42,43],{},"It's for personal use — unpacked, not on the Web Store — and it only touches freely-viewable scans. It doesn't touch material that's borrowed rather than public domain. I'm not trawling the whole site and downloading everything it finds, so as far as I know I'm not violating any TOS.",[12,45,46,47,52,53,57],{},"The code is on GitHub: ",[16,48,51],{"href":49,"rel":50},"https://github.com/MichaelPaulukonis/ia-book-page-downloader",[20],"ia-book-page-downloader",". If you also trawl archive.org for source material and don't want to load-unpacked an extension, the ",[16,54,56],{"href":25,"rel":55},[20],"original bookmarklet"," still works fine.",{"title":59,"searchDepth":60,"depth":60,"links":61},"",2,[],"2026-07-25T00:00:00.000Z",null,"A Chrome extension for downloading full-resolution page scans from the Internet Archive","md","Archive.org page downloader",{"authorUrl":68},"https://michael.paulukonis.github.io/",true,"/blog/ia-book-page-downloader",{"title":6,"description":64},{"src":73,"mime":74,"width":75,"height":76,"alt":77},"/media/blog/ia-book-page-downloader/ia-book-page-downloader-social.png","image/png",1200,630,"Extension popup over an archive.org book reader page","blog/ia-book-page-downloader",[80,81,82,83],"chrome-extension","archive-org","claude-code","collage","U0bfraR7ygHlJPpMGg-0t9P-3p28BRUlEdTx8GAVhOs",[86,92],{"title":87,"path":88,"stem":89,"headline":90,"description":91,"excerpt":63,"children":-1},"DuoChrome and friends","/blog/duo-chrome","blog/duo-chrome","DuoChrome and company","A browser-based suite that generates combinations of two images",{"title":93,"path":94,"stem":95,"headline":96,"description":97,"excerpt":63,"children":-1},"painting with words","/blog/imagetexter","blog/imagetexter","imagetexter - painting with words","ASCII text-painter using whole words instead of letters, impressionistic and legible at once",{"id":99,"avatar":63,"bio":63,"extension":100,"meta":101,"name":63,"social":63,"stem":113,"__hash__":114},"authors/authors.json","json",{"path":102,"Sample Author":103,"body":110,"title":112},"/authors",{"@context":104,"@type":105,"@id":106,"name":7,"alternateName":7,"nationality":107,"gender":108,"jobTitle":109,"url":106},"http://www.schema.org","Person","https://michaelpaulukonis.github.io/","American","male","Senior Software Engineer, full-stack dev, backend-focus",{"Sample Author":111},{"@context":104,"@type":105,"@id":106,"name":7,"alternateName":7,"nationality":107,"gender":108,"jobTitle":109,"url":106},"Authors","authors","gDLa0t2oQBqkm4ZjFHa3UMLJv3dsBGcc4djngSH_b-Q",1785937118829]