<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: jane</title>
    <description>The latest articles on DEV Community by jane (@69cf078b4c4cc5b8b7c0).</description>
    <link>https://dev.to/69cf078b4c4cc5b8b7c0</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4190449%2F257bdd71-4113-4bd3-92a7-3751107ed219.png</url>
      <title>DEV Community: jane</title>
      <link>https://dev.to/69cf078b4c4cc5b8b7c0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/69cf078b4c4cc5b8b7c0"/>
    <language>en</language>
    <item>
      <title>Before Ordering Overseas: How to Get a Deliverable US Tax-Free State Address</title>
      <dc:creator>jane</dc:creator>
      <pubDate>Sat, 17 Oct 2026 20:01:13 +0000</pubDate>
      <link>https://dev.to/69cf078b4c4cc5b8b7c0/before-ordering-overseas-how-to-get-a-deliverable-us-tax-free-state-address-cje</link>
      <guid>https://dev.to/69cf078b4c4cc5b8b7c0/before-ordering-overseas-how-to-get-a-deliverable-us-tax-free-state-address-cje</guid>
      <description>&lt;p&gt;You've picked out items on a US website, reached checkout, and found the merchant only ships within the US. You plan to find a package forwarding warehouse and set the delivery location in a tax-free state, so you start searching for a "US tax-free state address."&lt;/p&gt;

&lt;p&gt;An address generator can easily produce a complete street, city, and ZIP code. But for this order, there's a more practical question: after the package arrives there, who receives it, and how will they know it's yours?&lt;/p&gt;

&lt;p&gt;When using fakeloc.tech to find an address, you can follow the site's package forwarding provider directory to the provider's official website and obtain the receiving address assigned to your account. When placing the order, enter this address together with your personal Suite number, so you have the complete information to send the package to the warehouse and match it to your name. &lt;a href="https://fakeloc.tech/real-address-generator" rel="noopener noreferrer"&gt;Source: fakeloc forwarding directory&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  First, find the entry point on fakeloc to obtain an address
&lt;/h2&gt;

&lt;p&gt;Open &lt;a href="https://fakeloc.tech/real-address-generator" rel="noopener noreferrer"&gt;fakeloc's map and forwarding directory page&lt;/a&gt; and find &lt;strong&gt;Package forwarding directory&lt;/strong&gt;. It lists providers such as Stackry and Shipito along with their official address instructions. Find the Shipito Oregon entry and follow the link to its official page.&lt;/p&gt;

&lt;p&gt;Here you need to distinguish between two types of content on the fakeloc page. What the generator provides are synthetic test addresses; a real location on the map will not receive packages for you because of that. The role of the forwarding directory is to lead you to companies that actually provide receiving services. Which specific street address and personal number to use must be assigned by that company's account. &lt;a href="https://fakeloc.tech/us-tax-free-address-generator" rel="noopener noreferrer"&gt;Source: fakeloc address explanation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Below, walk through Shipito's Oregon warehouse. First select the correct warehouse, then return to the shopping cart to fill in the address.&lt;/p&gt;

&lt;h2&gt;
  
  
  When obtaining it, confirm the account indeed has the Oregon warehouse
&lt;/h2&gt;

&lt;p&gt;Oregon does not levy general sales tax, which is why an Oregon receiving address is chosen here. &lt;a href="https://www.oregon.gov/dor/programs/businesses/Pages/Sales-tax.aspx" rel="noopener noreferrer"&gt;Source: Oregon Department of Revenue&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;First check the account conditions. Shipito's official instructions state that free accounts use a California address by default, and the Oregon warehouse requires a paid Premium membership. After registering and verifying your email, if you need to switch membership plans, the entry point is &lt;strong&gt;My Account → Account Settings → My Membership → CHANGE MEMBERSHIP&lt;/strong&gt;. Before activating, check the fees clearly and confirm the merchant accepts warehouse receiving.&lt;/p&gt;

&lt;p&gt;Next, check the warehouse address in your account. If it still shows California, first confirm with customer service whether you have permission to use the Oregon warehouse. Do not take the California address back to the merchant page and simply change State to Oregon: the street, city, and ZIP code still point to the original place.&lt;/p&gt;

&lt;p&gt;After confirming the account provides an Oregon warehouse address, find &lt;strong&gt;MY WAREHOUSE ADDRESS&lt;/strong&gt; and obtain the complete information via &lt;strong&gt;COPY MY ADDRESS → COPY FULL ADDRESS&lt;/strong&gt;. &lt;a href="https://www.shipito.com/en/help/faq/shipito-address" rel="noopener noreferrer"&gt;Source: Shipito account and address operation instructions&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Keep this page open and fill in the form according to it. A full example address from an online tutorial, even if it looks identical, cannot replace the one in your account: the warehouse street may be the same, but the personal number belongs to each account.&lt;/p&gt;

&lt;h2&gt;
  
  
  When filling in the shopping cart, keep the complete Suite number
&lt;/h2&gt;

&lt;p&gt;Return to the merchant's checkout page and fill in the address you just obtained, split across the &lt;strong&gt;Shipping address&lt;/strong&gt; fields. Field names may differ slightly; use the following correspondence:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field in merchant form&lt;/th&gt;
&lt;th&gt;What to copy from the forwarding account&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Country / Region&lt;/td&gt;
&lt;td&gt;United States / US&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Full name / Recipient&lt;/td&gt;
&lt;td&gt;The name corresponding to the account's receiving information&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Address line 1 / Street address&lt;/td&gt;
&lt;td&gt;The warehouse's street address&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Address line 2 / Apartment / Suite&lt;/td&gt;
&lt;td&gt;The complete Suite number assigned to you&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;City&lt;/td&gt;
&lt;td&gt;The city in the same warehouse address&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;State&lt;/td&gt;
&lt;td&gt;The state corresponding to that warehouse; Oregon for Oregon / OR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ZIP / Postal code&lt;/td&gt;
&lt;td&gt;The ZIP code in the same warehouse address&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;After filling in, focus on the second line.&lt;/p&gt;

&lt;p&gt;Even if the merchant marks Address line 2 as optional, keep the Suite given by the forwarding account. The street address gets the package to the warehouse; the personal number lets the warehouse match the package to your account. Shipito explicitly states that omitting the number may cause receiving delays or extra processing fees.&lt;/p&gt;

&lt;p&gt;If the merchant's form has only one street address line, first check how it asks you to enter Apartment or Suite, then save. Do not delete this information just because the page has no separate field.&lt;/p&gt;

&lt;p&gt;If the form also requires a phone number, use a number the merchant accepts and that can reach you. Shipito does not provide a US local number; if the merchant strictly requires one, confirm you can meet this condition before ordering. &lt;a href="https://www.shipito.com/en/help/faq/shipito-address" rel="noopener noreferrer"&gt;Source: Shipito address and phone instructions&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What you fill in here is the shipping address. If the checkout page separately asks for a &lt;strong&gt;Billing address&lt;/strong&gt;, fill it in according to the payment method's requirements; do not directly apply the forwarding warehouse to it. The shipping address determines where the package goes; billing information has its own verification purpose.&lt;/p&gt;

&lt;h2&gt;
  
  
  Before paying, check the address the merchant ultimately saves
&lt;/h2&gt;

&lt;p&gt;It may look fine while filling in the form, but the saved result is still worth checking again. If the page offers a "suggested address," first see what information it retains, then decide whether to use it.&lt;/p&gt;

&lt;p&gt;Compare the merchant's saved address side by side with the forwarding account: do the street, city, state, and ZIP code come from the same address? Has the Suite been deleted, truncated, or left in an unsaved input field?&lt;/p&gt;

&lt;p&gt;For example, if the page expands "OR" to "Oregon," that does not change the state; if the suggested address contains only the warehouse street but your Suite is missing, it still needs to be handled. Do not complete payment based solely on an "address verified" prompt—it has not confirmed for you how the package will be matched to the forwarding account.&lt;/p&gt;

&lt;p&gt;After confirming the address, check the actual cost in the shopping cart. The tax-free state affects the general sales tax issue in this US purchase; the forwarding service and subsequent shipping still have their own fees. When judging whether this cross-border purchase is worthwhile, include these expenses in the calculation. &lt;a href="https://www.shipito.com/en/shipito-pricing" rel="noopener noreferrer"&gt;Source: Shipito pricing explanation&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  After the US leg is signed for, confirm the package has entered your account
&lt;/h2&gt;

&lt;p&gt;After ordering, keep the order number and the US leg tracking number. When the merchant delivers the package to the warehouse, check the receiving record in the forwarding account.&lt;/p&gt;

&lt;p&gt;A tracking page showing "delivered" means the US leg of transport has reached the receiving location; you still need to wait for the warehouse to process it so the package appears in your account. Shipito's subsequent process is receiving notification, choosing a shipping method, and then sending the package to your actual receiving address. &lt;a href="https://www.shipito.com/en/shipito-free-us-address" rel="noopener noreferrer"&gt;Source: Shipito forwarding process&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the carrier has signed for it and it still has not been received into the warehouse after more than two US business days, submit a support ticket according to Shipito's instructions and include the tracking number; business days here exclude weekends and US holidays. Prepare the receiving name and complete address actually entered by the merchant, which also makes it easier for both sides to check. &lt;a href="https://www.shipito.com/en/help/faq/shipito-address" rel="noopener noreferrer"&gt;Source: Shipito instructions for handling packages not received into the warehouse&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Only when the package appears in your account has this US tax-free state address completed its purpose for this order: the merchant knows where to send it, and the warehouse knows who the package belongs to. Next, what you handle is getting this item shipped back to your own hands.&lt;/p&gt;

&lt;p&gt;Originally published on AIRouter: &lt;a href="https://www.airouter.me/blog/fakeloc" rel="noopener noreferrer"&gt;How to get a US shipping address in a tax-free state&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>tutorial</category>
    </item>
    <item>
      <title>First Time Using a Perler Bead Generator: Turning This Cat Into a 40-Grid Pattern</title>
      <dc:creator>jane</dc:creator>
      <pubDate>Sat, 17 Oct 2026 13:17:21 +0000</pubDate>
      <link>https://dev.to/69cf078b4c4cc5b8b7c0/first-time-using-a-perler-bead-generator-turning-this-cat-into-a-40-grid-pattern-3db8</link>
      <guid>https://dev.to/69cf078b4c4cc5b8b7c0/first-time-using-a-perler-bead-generator-turning-this-cat-into-a-40-grid-pattern-3db8</guid>
      <description>&lt;p&gt;You already have an image you like and want to turn it into a Perler bead pattern. You can start by opening &lt;a href="https://www.masterthepixel.com/create" rel="noopener noreferrer"&gt;Master the Pixel Perler bead generator&lt;/a&gt;. Below, we'll use this little cat wearing a green scarf to make a small pattern: keep the ears, tail, scarf, and both eyes, and allow the fine pattern on the scarf to be simplified.&lt;/p&gt;

&lt;p&gt;The final version kept is &lt;strong&gt;40×40 grids, 580 beads, 21 colors&lt;/strong&gt;. The pattern with color codes is at the end of the article and can be downloaded directly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy4qdp0x3jyibfykrdzqy.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy4qdp0x3jyibfykrdzqy.webp" alt="Original image for this example: illustration of an orange cat wearing a green scarf" width="600" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The images and data follow the original manuscript's example and are used to explain the trade-offs in size, color reduction, and grid-by-grid edits; they do not represent Master the Pixel's actual generation results.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  First generate a version and see what the image becomes
&lt;/h2&gt;

&lt;p&gt;Upload the image and keep the full picture in the crop box. To compare with this example, first use this group of settings: mode set to "Speed", width set to 40, palette set to "MARD 291"; turn on "Remove background color" and temporarily turn off "Merge scattered color codes". These parameters correspond to the existing example in this article; the actual available settings are subject to the &lt;a href="https://www.masterthepixel.com/create" rel="noopener noreferrer"&gt;image-to-bead pattern converter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In this example, I did not crop off the white border first, nor did I additionally adjust brightness or contrast. The generated result is 40×40 grids, of which 1020 grids are empty, and the cat itself uses 580 beads. Here, 40×40 is the canvas range; after the white background is cleared, you do not need to fill all 1600 positions.&lt;/p&gt;

&lt;p&gt;At first glance, the cat's outline is still there, and the scarf is recognizable. However, the things that made it look refined in the original image—the highlights in the eyes, the thin lines around the mouth, the small patterns on the scarf—have already been squeezed into very few grids.&lt;/p&gt;

&lt;p&gt;At this point, first decide how much of this image you want to preserve, and then continue adjusting colors.&lt;/p&gt;

&lt;h2&gt;
  
  
  For this cat, I keep 40 grids
&lt;/h2&gt;

&lt;p&gt;I also generated a 70-grid version of the same image with the other conditions kept the same. Putting the two images together, the difference is clearer than looking at the parameters alone.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv7oe8r5f2n5ej3ldbx5n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv7oe8r5f2n5ej3ldbx5n.png" alt="70-grid and 40-grid generation results from the same original image; both images are displayed at the same canvas width" width="799" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the 70-grid version, the eyes are larger, and more of the light-colored pattern on the scarf is retained. The cost is that bead usage increases from 580 to 1686, 1106 more beads.&lt;/p&gt;

&lt;p&gt;For this small pattern, I accept that the scarf becomes simplified green blocks. Its knot and hanging shape are still there, enough for people to see that this is a cat wearing a scarf. I keep the size at 40 grids, and next I will make the eyes clear.&lt;/p&gt;

&lt;p&gt;This choice will lose the original image's delicacy. Especially the scarf—it is already impossible to fully retain its original pattern in this 40-grid pattern. After seeing both versions and then accepting this loss, there is no need to keep changing the size back and forth later.&lt;/p&gt;

&lt;h2&gt;
  
  
  The image got smaller, but the colors did not decrease much
&lt;/h2&gt;

&lt;p&gt;The 40-grid version has only 580 beads, yet it still uses 58 colors. Among them, 38 colors each have no more than 10 beads.&lt;/p&gt;

&lt;p&gt;Looking only at the thumbnail, you would think it is mainly orange, green, plus some light and dark variation. Only after opening the color list do you find that those subtle variations have been divided into many color codes. Distinguishing 58 colors for one small cat is somewhat cumbersome.&lt;/p&gt;

&lt;p&gt;Next, only adjust "Merge scattered color codes", keeping the image, size, mode, and palette unchanged. The results obtained this time are as follows:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Processing method&lt;/th&gt;
&lt;th&gt;Number of colors&lt;/th&gt;
&lt;th&gt;Bead usage&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;No merging&lt;/td&gt;
&lt;td&gt;58 colors&lt;/td&gt;
&lt;td&gt;580 beads&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Merge threshold 0.5%&lt;/td&gt;
&lt;td&gt;42 colors&lt;/td&gt;
&lt;td&gt;580 beads&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Merge threshold 2%&lt;/td&gt;
&lt;td&gt;20 colors&lt;/td&gt;
&lt;td&gt;580 beads&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;In the 20-color version, the large orange areas of the body and the scarf are still there, and the list is much shorter. But when you zoom in on the face, you will see a change that cannot be ignored: &lt;strong&gt;the dark green in both eyes has been merged away and turned into gray-green blocks.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4koksxa2q1f6n7sk10r8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4koksxa2q1f6n7sk10r8.png" alt="The eye area of the same 40-grid pattern: 58-color original version, 20-color merged version, and 21-color final version after editing 8 grids" width="799" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Among the merged colors, some are just very subtle differences between oranges, but some fall on the eyes. Processing them together by usage cannot preserve all the details worth keeping in this image.&lt;/p&gt;

&lt;p&gt;I keep the body and scarf of the 20-color version and edit the eyes separately.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 8 grids where the eyes are located, recolor them separately
&lt;/h2&gt;

&lt;p&gt;Look at the red boxes on the right side of the image above; the core of each eye is a 2×2 small block.&lt;/p&gt;

&lt;p&gt;Change the upper-left grid to light beige H13, and the other three grids to dark green B9. Do the same for both eyes, and you get dark eyes with a bit of highlight.&lt;/p&gt;

&lt;p&gt;If you directly edit the pattern attached to this article, the left eye is at rows 16–17, columns 17–18; the right eye is at rows 16–17, columns 23–24. The coordinates correspond only to this file.&lt;/p&gt;

&lt;p&gt;When editing grid by grid, after selecting the color, adjust only the corresponding position. Here, the edit needs to be limited to the eyes: after merging, the eyes and the scarf both use P15, and replacing the entire color code would change the scarf as well. &lt;a href="https://www.masterthepixel.com/create" rel="noopener noreferrer"&gt;bead pattern generation and editing tool&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This time, 8 grids were changed in total. H13 was already in the pattern, and only one new color, dark green B9, was added, using 6 beads. Thus, the number of colors goes from 20 to 21, and bead usage remains 580.&lt;/p&gt;

&lt;p&gt;These 6 dark green beads are worth keeping. Their usage is very small, but they can distinguish the eyes from the other color blocks on the face; saving them just to reduce the color count by one more would make this cat lose its expression.&lt;/p&gt;

&lt;h2&gt;
  
  
  Save this edited version
&lt;/h2&gt;

&lt;p&gt;After the eyes are edited, export a PNG that retains each grid's color code and row/column coordinates. When placing beads, you can then locate "which row, which column, which color code". Leave blank positions in the pattern empty, and place beads at positions with color codes according to the labels.&lt;/p&gt;

&lt;p&gt;The final version in this article has been saved, and the materials list has also been recalculated according to the recolored grids. In the list, B9 is 6 beads, H13 is 34 beads, for a total of 580 beads.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://media.airouter.me/articles/v1/downloads/ecb6198c10f9b8e7427f141dcccdb9b78bb05b2ac9d5f23dde62cf6c6206763d/cat-40-final-chart.png" rel="noopener noreferrer"&gt;40×40 cat bead pattern (PNG, 21 colors)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://media.airouter.me/articles/v1/downloads/5139d3aa494fa374b338aac9303bf569ab4a3a17fd5c415270dfa7a2d1fc5fcd/cat-40-final-materials.csv" rel="noopener noreferrer"&gt;bead color codes and quantities (CSV)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Example note:&lt;/strong&gt; The images, color codes, quantities, and coordinates follow the original manuscript's example. The product entry is uniformly &lt;a href="https://www.masterthepixel.com" rel="noopener noreferrer"&gt;Master the Pixel&lt;/a&gt;, and the current workspace should be used as the standard when using it. This article has not been verified by physical bead assembly.&lt;/p&gt;




&lt;p&gt;Originally published on AIRouter: &lt;a href="https://www.airouter.me/blog/bead-generator" rel="noopener noreferrer"&gt;Perler bead generator guide: sizing and color editing&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>tutorial</category>
    </item>
    <item>
      <title>EPUB to KEPUB: Convert a Book and Put It on Your Kobo</title>
      <dc:creator>jane</dc:creator>
      <pubDate>Sat, 17 Oct 2026 12:11:22 +0000</pubDate>
      <link>https://dev.to/69cf078b4c4cc5b8b7c0/epub-to-kepub-convert-a-book-and-put-it-on-your-kobo-214k</link>
      <guid>https://dev.to/69cf078b4c4cc5b8b7c0/epub-to-kepub-convert-a-book-and-put-it-on-your-kobo-214k</guid>
      <description>&lt;p&gt;For a single EPUB you want to read on a Kobo, start with the free &lt;a href="https://pgaskin.net/kepubify/try/" rel="noopener noreferrer"&gt;kepubify EPUB to KEPUB converter&lt;/a&gt; or &lt;a href="https://kobo-workbench.pages.dev/" rel="noopener noreferrer"&gt;EPUB to KEPUB online converter&lt;/a&gt;. Choose your book, let it convert, then click the resulting filename to download a &lt;code&gt;.kepub.epub&lt;/code&gt; file. That is the copy to transfer to your reader.&lt;/p&gt;

&lt;p&gt;If you already keep your books in Calibre, you can stay there. Calibre 8.0 and later convert EPUBs to KEPUB when sending them to a Kobo, provided that option is enabled in the device settings. The old KoboTouchExtended plugin is no longer required. &lt;a href="https://calibre-ebook.com/new-in/seventeen" rel="noopener noreferrer"&gt;Calibre’s built-in Kobo conversion support&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For a one-off conversion without setting up a library, follow the browser route below.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with the EPUB you already have
&lt;/h2&gt;

&lt;p&gt;Use a DRM-free &lt;code&gt;.epub&lt;/code&gt; file and keep the original. Conversion makes a separate copy for the Kobo; you can retain the EPUB for other reading apps.&lt;/p&gt;

&lt;p&gt;A Kobo can read ordinary EPUBs too. The reason to convert is to use its KEPUB reading features, including chapter reading statistics and, where the book supports them, pop-up footnotes. You do not have to convert a book that already reads the way you want. The &lt;a href="https://pgaskin.net/kepubify/" rel="noopener noreferrer"&gt;KEPUB reading features supported by kepubify&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For the conversion check accompanying this guide, the input was a small, original two-chapter EPUB named &lt;code&gt;Kobo Conversion Sample.epub&lt;/code&gt;. It included chapter links, a footnote and a small image. The steps below follow that file through the web converter; the USB transfer section follows Kobo’s documentation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choose the file and download the converted book
&lt;/h2&gt;

&lt;p&gt;Open &lt;a href="https://pgaskin.net/kepubify/try/" rel="noopener noreferrer"&gt;kepubify EPUB to KEPUB converter&lt;/a&gt;. Click the file-selection area beneath the version number and choose your EPUB. You can also drag the file into that area.&lt;/p&gt;

&lt;p&gt;Leave the options on the right at their defaults for this first conversion. You do not need custom CSS or changes to punctuation and hyphenation to get a KEPUB copy.&lt;/p&gt;

&lt;p&gt;Conversion starts after you select the file. When it finishes, the file’s row turns green and its name becomes a download link. &lt;strong&gt;Click that blue filename to save the converted book.&lt;/strong&gt; Selecting the EPUB alone does not save the result to your computer.&lt;/p&gt;

&lt;p&gt;The sample produced this output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Input:   Kobo Conversion Sample.epub
Output:  Kobo Conversion Sample.kepub.epub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7fqohw2oz65xw9hz90th.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7fqohw2oz65xw9hz90th.jpg" alt="The kepubify web app showing the converted sample ready to download" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The downloaded sample retained both chapters’ body text, their link targets and the image file. That was a check of the converted package, rather than a test of how a particular Kobo displays it.&lt;/p&gt;

&lt;p&gt;The web app says conversion happens in your browser without sending the book to a remote server. If the converter does not load, make sure JavaScript is enabled; the page requires it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep the .kepub.epub ending
&lt;/h2&gt;

&lt;p&gt;Find the downloaded book before connecting your Kobo. Its name should end in &lt;code&gt;.kepub.epub&lt;/code&gt;. The double extension is intentional: keep it when copying the file.&lt;/p&gt;

&lt;p&gt;That ending tells the Kobo to use its KEPUB reading engine. The conversion also adds internal text-position markers used for features such as highlighting and bookmarks. Simply renaming an untouched EPUB changes the filename without adding those markers. &lt;a href="https://github.com/kobolabs/epub-spec#sideloading-for-testing-purposes" rel="noopener noreferrer"&gt;Kobo’s sideloading guidelines&lt;/a&gt; explain the engine selection; &lt;a href="https://github.com/pgaskin/kepubify/blob/master/kepub/transform.go" rel="noopener noreferrer"&gt;kepubify’s conversion code&lt;/a&gt; documents the added markers.&lt;/p&gt;

&lt;p&gt;At this point, you should have two files: the original &lt;code&gt;.epub&lt;/code&gt; and the downloaded &lt;code&gt;.kepub.epub&lt;/code&gt;. Copy the downloaded one in the next step.&lt;/p&gt;

&lt;h2&gt;
  
  
  Copy the converted file to your Kobo
&lt;/h2&gt;

&lt;p&gt;With the converted book saved, follow &lt;a href="https://help.kobo.com/hc/en-us/articles/360024775093-Add-non-protected-PDF-and-ePub-files-to-your-Kobo-eReader-using-your-computer" rel="noopener noreferrer"&gt;Kobo’s documented USB import process&lt;/a&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Turn on the Kobo and connect it to your computer with a USB cable that supports data transfer.&lt;/li&gt;
&lt;li&gt;Tap &lt;strong&gt;Connect&lt;/strong&gt; on the Kobo when the connection prompt appears.&lt;/li&gt;
&lt;li&gt;Open the &lt;strong&gt;KOBOeReader&lt;/strong&gt; drive in Finder or File Explorer.&lt;/li&gt;
&lt;li&gt;Drag the downloaded &lt;code&gt;.kepub.epub&lt;/code&gt; file onto that drive.&lt;/li&gt;
&lt;li&gt;Eject the drive, then unplug the cable.&lt;/li&gt;
&lt;li&gt;Wait for the Kobo’s import to finish. Open &lt;strong&gt;My Books&lt;/strong&gt; and select the book.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This imports a local copy onto that reader. It does not add the book to your Kobo account for syncing to other devices or apps.&lt;/p&gt;

&lt;p&gt;Once the book opens, use its table of contents to jump to a chapter and check a passage you recognize. If it contains footnotes or images, inspect one before settling in to read. If you are replacing a copy you have already annotated, preserve the important notes before removing the old book; conversion alone does not transfer its reading history.&lt;/p&gt;




&lt;p&gt;Originally published on AIRouter: &lt;a href="https://www.airouter.me/blog/epub-to-kepub" rel="noopener noreferrer"&gt;EPUB to KEPUB conversion guide&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
