Setting Up Calibre + FanFicFare
I've talked before about using Calibre to download fic off of fiction archives, so that's where I decided to start with this series. If you're interested in learning more about how to download fanfic for offline reading/local archiving, then watch the #ficArchiving tag. And if you're not interested in seeing these posts then that's also the tag to block.
Edit (3/22/25) - I've updated the post due to changes in how FanFicFare works with regards to site ratings metadata - the type of column this information needs to be stored in has changed as it no longer works with selectable, pre-set options as originally outlined. Also adding note that additional plugins are required to make FanFicFare's anthology options available.
(Since this is a long post, I'm sticking it under the cut.)
First some background on what Calibre is. It's an open source eBook manager and is really quite versatile for it's usage, thanks in part to the robust library of plugins that it utilizes. The default Calibre app comes bundled not only with management software but an e-reader, server options for locally hosting your library (or libraries), and a whole host of options for managing metadata. Default metadata being tracked include title, author, series, publishing data, synopsis, and tags, but you can manually add columns for any additional data you want - which comes in handy when managing a local fanfiction archive. You can add columns for the fandom the fic is written for, the included ships, characters, completion status, whether it's a single fic or a series turned into an anthology. If the information is useful for you, then you can add a method to track it.
Now, for what Calibre does not do. Because it only runs on Windows/Mac/Linux systems - aka it only runs on a PC - you cannot install it on your phone or tablet. There's no official Calibre apps for Android or iPhones either, though there are unofficial ones that can work with Calibre in server mode. I've never tried the unofficial apps, however, as they tend to cost money that I don't really think they're worth. That's largely because in server mode you can log in to the local instance of Calibre with a regular old browser. Just book mark the page and, so long as your on a network where the local instance is running, your phone or tablet will have access to every book on your Calibre's library (or libraries, depending on how you set things up). You can then either read the eBook directly on the browser or, my preferred method, download the file and read it on the e-reader app of your choice. (You can also make the server available outside your local network, but I've never bothered to learn to set that up.)
Given everything Calibre can do, I'm not particularly bothered by the lack of official apps for phones or tablets - as far as I'm concerned it doesn't need one.
This post is going to be focused on using Calibre for fanfictions specifically, but if you want more information on the other things it can be used for, the Calibre FAQ pages are quite extensive and goes into detail about it's format support, eBook conversion abilities, device integration, news download services, library management, and more.
Alrighty, so first thing you'll want to do is download the version of Calibre that works with your computer. You can also create a portable version that runs off a USB drive if you prefer. Once you've downloaded and installed Calibre, it's time to decide where you want your fanfics to live. Do you want all your eBooks to live in one spot or do you want separate libraries for fanfiction vs original fiction? Since I like to collect more metadata for my fanfic collection than for my regular eBooks - and then completely different extra data for tracking my Star Trek books, or Doctor Who books - I like to have multiple libraries for managing my eBook files. And Calibre makes managing multiple libraries at one time very, very simple.
In Calibre's header there are going to be a lot of icons - I’ve modified the header toolbar for my Calibre instance, but most of the default options are still visible in the picture below.
Specifically you want the one that looks like four books leaning against each other on a shelf. It should have the default library name displayed there - Calibre Library.
Clicking on that will open the menu used for maintaining multiple libraries. While the application only sets up one library by default, it can link to multiple libraries located anywhere on your computer's filesystem. Since I like to use Dropbox to back up my libraries, I usually locate mine in my local Dropbox folder. You can import existing libraries from one instance of Calibre to another, which makes moving from one computer to another, or maintaining the same library across multiple computers, very simple.
Let’s assume you want to have a separate library just for fanfiction. To that end, you'll want the first option on the menu - labeled "Switch/create library".
From there you'll want to select the folder - or create a new folder - with the name of the library you want to use in Calibre. I'd recommend something straightforward and call it "Fanfiction". Then you'll select the radio button labeled "Create an empty library at the new location".
You don't need to copy the current library's structure since every library is created with Calibre's default structure and you won't have added any specialized data tracking at this point to copy over. Once you've set your library location and selected the option for creating a new library, hit the OK button. It'll create the new library and immediately change so that it's managing that library instance instead of the default Calibre Library instance.
If you aren't sure which library is currently open in the Calibre app, then the icon with the four books in the header is where you want to check. It will always be labeled with the name of the currently open library. The most recently opened libraries will be listed at the bottom of the menu opened by that icon for easy switching between libraries and the "Quick switch" option will list all the available libraries registered to your Calibre instance. The icon with the four books is the default icon for a library - if you change the icon for a library then keep in mind that the icon will change in the header when the library is the currently selected on.
Alright, so step one is completed. You now have a dedicated Fanfiction library for maintaining any fics you choose to download. But the default metadata being tracked for the books isn't as robust as it could be. Time to bulk that information up. You'll want to look back at the header again, this time for an icon that looks like a crossed screwdriver and wrench. It's labeled Preferences. Click on that in the center of the icon to bring up the Preferences modal instead of just the menu (which you can access by clicking the associated down arrow beside the icon instead).
The Preferences modal is where you can access options to tweak the appearance, behavior, and various other functions of Calibre. And I certainly encourage experimenting with the application as it can be customized to your heart's desire to make it meet your accessibility needs. For now, however, we're only interested in the "Add your own columns" option on the top layer of the modal, under "Interface". The associated icon for the "Add your own columns" option is, appropriately, a small Greek column.
This will open the column maintenance modal which presents with a table listing all the existing columns - these all track some kind of metadata for the ebook - and will have checkboxes on the left most of the table indicating whether these columns are displayed on the main interface or are accessible only through the Edit Metadata modal. (We'll get to the Edit Metadata modal later.)
To the right of the table are options for moving a column up or down in the list order, a minus sign used for deleting unnecessary columns, a plus sign for adding new columns, and an edit option for editing existing columns. I'd recommend unchecking columns you don't want displayed in the main table, but not deleting columns. That way you can still store the metadata - and search on it - in that column, but it won't clutter up the main page.
Alright, so now it's time to add some columns. Click the plus button to bring up a custom column form.
The "Lookup name" is what Calibre uses to do searches, so it needs to be something that can be safely saved in a database. "Column heading" is the pretty name that displays either as a column heading in the main Calibre table or as the metadata entry name in the "Edit metadata" modal. "Column type" has a dropdown of the different types of metadata that can be stored in a column and has an option to show checkmarks (a checkbox) for additional true/false parsing. There are a lot of options in the dropdown for metadata types, some of which will offer up additional column creation form options, and this is something that cannot be changed once a column has been saved. If you select the wrong one and realize it later, you'll have to delete the column and create a new one to take it's place. "Description" is there to help clarify things if the "Column header" isn't descriptive enough to make clear what the metadata being tracked by the column is for. And, finally, you can use the optional "Default value" if you want that column to be auto filled with a value you can update later.
Note that the form may add further fields to it, depending on the selected “Column type”.
Since this is going to be tracking fanfiction metadata, some good ideas for creating tag-type metadata columns would be "Fandom", "Ship", and "Characters". You might also consider "Rating", "Content Warnings", “Chapters”, or other data which might be better suited for other types of metadata. We'll start with the "Fandom" column.
You'll want to set the "Lookup name" to "fandom" (note the lowercase here), the "Column heading" to "Fandom" (uppercase this time), and the "Column type" to "Comma separated text, like tags, shown in the Tag browser". The "Description" is optional, so add what you like (or don't) there and the same goes for "Default value", which you might want to list as "Unsorted" or simply leave blank to indicate the fandom is currently unlisted. Once you're satisfied with your selections, click "OK" and you can either then "Apply" your settings changes or continue on to add more columns.
The "Ship" and "Character" data also work best as comma separated data, so I recommend making those columns in the same fashion as the "Fandom" column. “Chapters” you may want to add as an integer column, shown below.
If you're wanting to add "Rating" as a column, then you might want to have specific options for rating a fic, such as limiting the options to the same ones used by Ao3. To this end, you'd fill out the form more like this. "Lookup name" as "rating_level" so as not to confuse it with the existing rating column for star ratings, "Column heading" as "Rating" or maybe "Rating Level", and "Column type" as "Text, but with a fixed set of permitted values". This "Column type" selection will bring up two more inputs on the column creation form - "Values" and "Colors". These two inputs work together and can be edited later. In the "Values" input, you can add a list of comma separated values. In this case the list for "Values" would look like "General Audiences, Teen and Up Audiences, Mature, Explicit, Not Rated". "Colors" is an optional list that will assign a different color to every option on the "Values" list that corresponds to an entry in the "Colors" list. So if you want General Audiences to be blue and no other option to have a color, you'd list "blue" for colors. Or "blue, blue, red, red, red" to have the first to options on the "Values" list as blue and the last three as red. You can play around with this more or leave it blank to have the options all be the same default colors.
Once you've finalized your selections, hit OK to create the column.
Edit (3/22/25) - FanFicFare currently no longer accurately scrapes ratings data into a column setup as "Text, but with a fixed set of permitted values". Instead you will need to use the "Comma separated text, like tags, shown in the Tag browser" option. Fixed values should still work for things like fic status, which have the Completed and In-Progress settings only, but changes either to FanFicFare or Ao3 (and thus any Ao3 clones) have made the fixed values option for ratings fail to correctly connect site tags to the preset values. The good news is that this will now set the ratings for an anthology fic made from a series page with the ratings of all fics within the series - so if some are General Audiences and others are Mature within a single anthology, that will be accurately reflected in your captured metadata after downloading a fic.
After creating all your new columns and selecting which ones you want present on the main table, hit the "Apply" button. You'll likely be prompted to restart Calibre. Do so and when the program reloads it should display the main table with all the columns exactly how you set them up. Which means step two is complete. At this point if you have any fanfiction eBooks already, you can drag and drop them into the table from folder files or use the "Add books" option at the left most side of the header toolbar to start adding those. You can manually update the metadata either by clicking on newly added book and then selecting a column or by clicking the book and then selecting the "Edit metadata" option in the header. So now it's time to take a quick look at the metadata editor modal.
By default, the metadata modal will only have one screen but, because you've added custom columns, there should be tabs at the top. One for "Basic metadata" and one for "Custom metadata". The "Basic metadata" includes options for title, title sort, author(s), author sort, series, series number, file versions (for tracking if you have epub, mobi, pdf, etc files of the same book), cover management options, the star-based rating system, tags, ids, upload date, published date, associated publisher, languages, and "Comments" which is where the story summery/synopsis should go. For regular, non-fanfiction eBooks, you might also take note of the "Download metadata" button which allows for scrapping official metadata off of sites like Barnes and Noble, Amazon, or other eBook sellers or archives.
The "Custom metadata" is where your custom column data will be found. It should be found at the top of the page and fill space downwards with however many custom columns you've added. Inputs that allow for comma separated values will still have a dropdown option associated to allow adding tags you've entered previously for other ebooks. Columns that only allow using preselected data are more likely to appear as select boxes or other form types. This is where you might notice you created a column type incorrectly, so make sure to check over all the data entry options for each metadata type you're collecting. If it doesn't look like it's set up the way you wanted it to be, you can go back to the column editing modal and try again.
The big draw of using Calibre to manage fanfiction eBooks, however, is being able to use Calibre to download the fanfictions from the web and convert them to eBook format for you. And that's where Calibre's plugin library comes in handy.
If you were making any edits to an existing eBook, save those and close the metadata editor. Head back over to the Preferences modal and check the Advanced settings options at the bottom of the modal. There should be a green puzzle piece icon labeled "Plugins" - click that to open the Plugins modal.
It will take you to a table used for monitoring and controlling existing plugins and, yes, it does already have 'plugins' installed. These are really more the application's default modules, but because of how Calibre works they can be edited and controlled in the same way that external plugins are. At the bottom of the page you'll see three buttons - "Get new plugins", "Check for updated plugins", and "Load plugin from file". These are concerned with the external plugins that you can add to Calibre. "Get new plugins" will allow you search through the official library of third party plugins available to Calibre - plugins that the Calibre team have vetted to confirm aren't actually malware. But they're by no means the only plugins you can install, as the "Load plugin from file" will allow you to load pretty much any plugin you want to. Such as a plugin for, say… stripping DRM off of purchased eBooks.
In this case, you want to select the "Get new plugins" option. This brings up a modal for User plugins and the displayed list will automatically be filtered by available plugins that have not yet been installed. You can filter this list further by typing "FanFicFare" into the "Filter by name" text input.
You can then select the FanFicFare plugin and install it. After installing the plugin, you should select the option to restart the application, to ensure that it installed properly. I'd also recommend adding the FanFicFare icon to the optional bottom toolbar instead of the header toolbar, since that'll make it much easier to find since, unless you add more plugins and assign them to that toolbar, it should be the only option on the bar right now.
Edit (3/22/25) - In addition to the FanFicFare plugin, you'll want to include two additional plugins so that FanFicFare can make it's anthology options available. These two plugins are EpubMerge and EpubSplit. These plugins can be used on their own to create anthologies by creating a new epub file from multiple epubs or splitting anthology books into separate epubs for each book contained within. Without these plugins FanFicFare's anthology options will be hidden, as it utilizes them for merging fics in a series together after downloading them separately.
So, full disclosure, you don't need Calibre to run FanFicFare. You could download it and run it from a command line interface instead. However, I prefer it's Calibre interface, especially since it really lets you take advantage of the best Calibre has to offer in metadata tracking, as it can be set up through Calibre to auto fill those columns I walked you through setting up earlier. But I'll get to more on that in a minute.Once Calibre has restarted, you should now have FanFicFare available on one of your toolbars. It's associated icon is a green text bubble with the letters "FF" in it pointing down at a picture of a book.
It'll have a small down arrow next to it, which you'll want to select in order to bring up FanFicFare's menu. At this point you can start downloading fics if you want - but let's do a little customizing first. Select the "Configure FanFicFare" option to bring up the configuration modal.
So this modal has a lot going on. And I do encourage doing some exploration on your own, because FanFicFare is a powerful tool made all the more powerful here in conjunction with Calibre's built in tools. Cover generation is very useful, "Reading lists" can be used to auto send new books to any devices you've linked to Calibre when they're connected to the computer, you can tie into email accounts to pull fanfics from email or pull URL links for downloading... there is just so much this plugin can do.
For now, however, we're interested in the column related options. First, check out the tab for "Standard Columns". Look over the options there carefully to make sure that the default settings are actually what you want. They're pretty straight foward - most are determining whether the metadata gets scraped and updated every time you update a fanfic eBook or if they're only scraped for new books. The rest have to do with title and author sorting, setting series related data, and setting the comment data for anthologies.
Once you've set that data how you want, head over to the "Custom Columns" tab where things get more interesting.
You should now be looking at a list of all those custom columns you created earlier, in alphabetical order. Each column will have a corresponding select box with nothing selected and an unchecked checkbox marked "New Only". This works in a pretty straightforward manner. Let's use "Fandom" as the example. Click the associated select box to open the dropdown and you'll see a bunch of potential metadata that FanFicFare scrapes listed there. It'll all go into the default tags column - found over in the "Standard Columns" section - but you can also parse it out to specific custom columns here. It might give you a few ideas for more columns you want to add for metadata sorting purposes. "Fandom" you'll want to link to "Category". I left "New Only" unchecked so that if I update an eBook later and it has a new fandom attached to the fic then that new metadata will be picked up and added to my Fandom tags for the fic.
Go through each custom column and set them up to be auto filled with the data you think fits it best. Select OK to save your changes and congratulations, this library has now been set up to import fanfiction.
Do keep in mind that FanFicFare's settings are on a per-library basis. So if you decide to do a separate library for different types of fanfics then you'll need to configure FanFicFare separate for every library. You may want separate libraries for different repositories, for example. Though FanFicFare is often smart enough to recognize when it already has an eBook version of a fanfiction from one repository - such as FFnet - when trying to download the same fic from another place - like Ao3.
You may need to make changes later to the personal.ini file associated with the library (which is also set up on a per-library basis) but I'll write up a separate post for that later. While sites protected by Cloud Flare more stringent protections will likely result in 403 responses and failed downloads, most fanfiction sites are going to work with the default FanFicFare settings. You could head over to, say, Archive of Our Own or Twisting the Hellmouth and grab a URL for a story from there. Or a URL for a series, which has links to multiple stories.
Now that the set up is done, it's time for the fun part. Downloading and maintaining fanfiction in your library. I'll be using a few of my fanfictions on Ao3 as example URLs. Awaken, which is already in my fanfiction library. What Balance Means, which is not already in my library. And the two series Hartmonfest 2023 and Eobard vs Eobard.
We'll start with the single URL uploads.
Click on the FanFicFare down arrow to bring up the menu and select the first option on the menu, labeled "Download from URLs". If you have a URL in your clipboard and have the option to grab URLs from the clipboard selected in the FanFicFare configuration (it's a default option, so you most likely do) then you should see that URL prepopulated in the text area when the Story URLs modal loads. You can add more URLs, one per line, to this text area and when you select OK each one will be individually downloaded as a separate epub file. For multi-chapter fics you only need to provide the url for the first chapter. FanFicFare will be able to detect the additional chapters and download them into the same epub file as the first chapter. All providing additional chapter URLs will do is lead to FanFicFare attempting to create multiple epubs of the same fanfic.
Once you've added your list of URLs to the text area, select OK. FanFicFare will do the rest, fetching metadata for the fic (or fics) and compiling the epub file(s). When it's finished compiling the data but hasn't officially saved the epubs, it will pop up a message letting you know how many "good" and "bad" entries it found.
"Good" means it made an epub file and it's good to go. "Bad" could mean that you've already got the fanfic downloaded and no updates - such as new chapters - were available. Or it could mean that it failed to grab the web pages for whatever reason… like Cloud Flare blocking the download. You can go forward with the download at this point, adding the good epubs to your library. Or you could cancel the download, meaning none of the epubs are saved. Before choosing one of those options you can also choose to look at the job output, seen in the pop up as a button labeled "View log". This will display a list of every url you tried to download a fanfic for and information on either it's success or why it failed, the associated URL, and how many chapters were downloaded.
Since I already had Awaken downloaded and there have been no updates since the last time I downloaded it, that is the bad update from my list and the result I was expecting. What Balance Means hadn't been downloaded before, so it was the expected good update. Once Yes is selected in the dialog, the new fanfiction eBooks will be added to the library and will appear at the top of the main list in the application.
That's great for updating one fic at a time or copy-pasting in a list of fanfictions, but let's get ambitious. Maybe you want to import an entire page of bookmarked fanfictions at once or a series of fanfictions as individual books. Instead of copying every single URL by hand, you can take the URL for the series main page or the Bookmarks URL. With that URL copied, you can head over to the FanFicFare menu again, but this time select the option "Get Story URLs from Web Page"
The modal that pops up only allows for inputting one URL - the URL for the page you want it to scour for fanfic URLs. Once you've inputted that URL click the button labeled "For Individual Books." It might take a bit but it's going to pull up the same Story URLs modal from before, this time prepopulated with every URL from the page you gave it. Pretty cool, right? Click OK and watch it run the job just like before.
I gave it the URL for my Hartmonfest 2023 series, which is a complete series and it downloaded all three books. Once they're populated on the list, I could scroll over to the Series column to see that they all are listed as being part of the Hartmonfest 2023 series in the same series order they're listed in on Ao3.
However, what if I'm uploading an unfinished series, like Eobard vs Eobard, and want to be able to track when it updates later on? Single books can track when new chapters are updated; is there any way to do the same thing but on a larger scale? The answer is yes, but you have to upload the series as an anthology.
Head back to the "Get Story URLs from Web Page" option on the FanFicFare menu and give it another series URL. But, this time, click the button labeled For Anthology Epub. This will trigger the Story URLs modal again once it's gathered all the story URLs, but this time it looks a little different.
This time there will be text indicating the Series and Comments/description, the information for which will have been taken from the series metadata. The series story URLs will be present in the text area, allowing you to remove a story from the anthology if there's a fic in there you don't want included. Click OK to run the import job, which will run like normal.
When the job completes, there should be multiple good updates listed - one for every URL - but when you click yes to add the eBook to the library, you'll only see one added. It should be named following the convention "<Series Name> Anthology". So now I've got the "Eobard vs Eobard Anthology" in my library.
Last but not least, how to check for updates to incomplete fanfictions or series. It's generally pretty easy to do. Select the fanfiction(s) on the list that you want to check for updates on. If it's a single fanfiction (or several single fanfictions), you go to the FanFicFare menu and click the option "Update Existing FanFiction Books"
Click OK and let it run. Any fanfictions that don't have new chapters will return as bad entries. Any that have new chapters will be listed as good. Selecting Yes to add the good entries to the list will update the existing epub files with the new chapters.
However, if it's a series you want to update, I recommend doing those one at a time. Select the anthology from the eBook list and head back over to the FanFicFare menu. This time select "Anthology Options"; it'll open a fly-out menu. You want the bottom option, labeled "Update Anthology Epub". The associated URL for the series is saved as part of the eBook's metadata already, so it will pull the series metadata and associated URLs again, before returning you to that same modified Story URLs modal seen before. When you click OK, it'll pull all the fanfictions in the series - new and old - and any new chapters as well, bundling it up in a new eBook file that will replace the old one.
There's still a lot to talk about when it comes to managing fanfictions in Calibre, but I think I'll end here for now. You should be able to download, and manage, fanfiction from most websites at this point. So go back up your bookmarked fics and rest easy knowing that from this point forward a missing bookmark on your bookmarks list is no longer cause for sadness - it'll still be in your local archive to enjoy offline. Just don't go abusing this power, okay guys?


























