# Can I regenerate my keys for an entire database at a time?

**URL:** <https://discourse.jabref.org/t/can-i-regenerate-my-keys-for-an-entire-database-at-a-time/3266>\
**Category:** Help\
**Tags:** ui\
**Created:** [February 28, 2022, 9:49am UTC](https://discourse.jabref.org/t/can-i-regenerate-my-keys-for-an-entire-database-at-a-time/3266 "2022-02-28T09:49:38Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![impracticaldogg](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/impracticaldogg/32/1329_2.png) [@impracticaldogg](https://discourse.jabref.org/u/impracticaldogg)\
**Post date:** [February 28, 2022, 9:49am UTC](https://discourse.jabref.org/t/can-i-regenerate-my-keys-for-an-entire-database-at-a-time/3266/1 "2022-02-28T09:49:38Z")

</div>

I’m standardising my BibTex key format as I clean up my reference database (imported from Zotero) database, adding missing details.

The key generation function (toolbar icon) seems to only work for a single record at a time (despite the warning message when multiple entries are selected). I have 3000+ entries and need to update multiple records.

Am I missing something? Thanks in advance

---

<div class="post-metadata">

**Author:** ![ThiloteE](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/thilotee/32/1008_2.png) [@ThiloteE](https://discourse.jabref.org/u/ThiloteE)\
**Post date:** [February 28, 2022, 10:09am UTC](https://discourse.jabref.org/t/can-i-regenerate-my-keys-for-an-entire-database-at-a-time/3266/2 "2022-02-28T10:09:46Z")

</div>

I think this one will do what you want:  
 ![image](https://canada1.discourse-cdn.com/flex030/uploads/jabref/original/2X/7/7ba04f4083f7b5f32bf8da097531eaa9e8dd8985.png)

---

<div class="post-metadata">

**Author:** ![impracticaldogg](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/impracticaldogg/32/1329_2.png) [@impracticaldogg](https://discourse.jabref.org/u/impracticaldogg)\
**Post date:** [February 28, 2022, 10:31am UTC](https://discourse.jabref.org/t/can-i-regenerate-my-keys-for-an-entire-database-at-a-time/3266/3 "2022-02-28T10:31:36Z")

</div>

Unfortunately (for me) I’ve tried this already. The toolbar icon does nothing. Only the “Generate key” icon next to the “Citationkey” field under the Required tab.

I’m using JabRef 5.5–2022-01-17–27a05c7 under Ubuntu 20.04 if that makes a difference

---

<div class="post-metadata">

**Author:** ![ThiloteE](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/thilotee/32/1008_2.png) [@ThiloteE](https://discourse.jabref.org/u/ThiloteE)\
**Post date:** [February 28, 2022, 10:44am UTC](https://discourse.jabref.org/t/can-i-regenerate-my-keys-for-an-entire-database-at-a-time/3266/4 "2022-02-28T10:44:39Z")

</div>

hmm could be a bug then. I am on windows here and it works for me. Would you be able to try an older version of Jabref (e.g 5.3 or 5.4; you can download them [here](https://www.fosshub.com/JabRef-old.html)) and report back if these versions work? Finding the regression window would be nice 🙂

---

<div class="post-metadata">

**Author:** ![Siedlerchr](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/siedlerchr/32/216_2.png) [@Siedlerchr](https://discourse.jabref.org/u/Siedlerchr)\
**Post date:** [February 28, 2022, 6:28pm UTC](https://discourse.jabref.org/t/can-i-regenerate-my-keys-for-an-entire-database-at-a-time/3266/5 "2022-02-28T18:28:44Z")

</div>

Try selecting all entries with CTRL + A and then hit the button.

---

<div class="post-metadata">

**Author:** ![impracticaldogg](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/impracticaldogg/32/1329_2.png) [@impracticaldogg](https://discourse.jabref.org/u/impracticaldogg)\
**Post date:** [March 1, 2022, 8:18am UTC](https://discourse.jabref.org/t/can-i-regenerate-my-keys-for-an-entire-database-at-a-time/3266/6 "2022-03-01T08:18:58Z")

</div>

I had tried the Ctrl-A and then the button on the toolber. Under Ubuntu there were no changes.

It worked under Windows but took some time. Possibly I was impatient under Ubuntu and cancelled the process by checking records before the regeneration was complete?

---

<div class="post-metadata">

**Author:** ![ThiloteE](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/thilotee/32/1008_2.png) [@ThiloteE](https://discourse.jabref.org/u/ThiloteE)\
**Post date:** [March 1, 2022, 3:42pm UTC](https://discourse.jabref.org/t/can-i-regenerate-my-keys-for-an-entire-database-at-a-time/3266/7 "2022-03-01T15:42:41Z")

</div>

I can confirm that Ctrl + A then click the button works for Jabref 5.5 portable version on Linux Mint 20.03 (Ubuntu 20.04 package base with 5.4 kernel). It changes keys for multiple entries.

---

<div class="post-metadata">

**Author:** ![impracticaldogg](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/impracticaldogg/32/1329_2.png) [@impracticaldogg](https://discourse.jabref.org/u/impracticaldogg)\
**Post date:** [March 2, 2022, 8:41am UTC](https://discourse.jabref.org/t/can-i-regenerate-my-keys-for-an-entire-database-at-a-time/3266/8 "2022-03-02T08:41:00Z")

</div>

I’ve tried again on JabRef 5.5 installed under Ubuntu 20.04. Booted up, and went straight to JabRef to minimise swap usage.

I tried Ctrl-A and then the button on the toolbar on a database with 4202 entries. I left it running until the CPU load went back down.

Spot checks showed that the last few hundred had not been changed. I selected these in batches and used the button to process them as well. So now I am sorted.

A different database with 3000-odd entries was processed fine under Windows 8.1 on the same PC. Also under JabRef 5.5.

At least I have a solution now!

---

<div class="post-metadata">

**Author:** ![Siedlerchr](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/siedlerchr/32/216_2.png) [@Siedlerchr](https://discourse.jabref.org/u/Siedlerchr)\
**Post date:** [March 2, 2022, 6:52pm UTC](https://discourse.jabref.org/t/can-i-regenerate-my-keys-for-an-entire-database-at-a-time/3266/9 "2022-03-02T18:52:02Z")

</div>

As far as I remember the Citation Key Generation is ran on the GUI thread and not on a background thread, so this might explain why it leads to a freezing GUI when doing this for a large library

---

<div class="post-metadata">

**Author:** ![impracticaldogg](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.jabref.org/impracticaldogg/32/1329_2.png) [@impracticaldogg](https://discourse.jabref.org/u/impracticaldogg)\
**Post date:** [March 3, 2022, 8:47am UTC](https://discourse.jabref.org/t/can-i-regenerate-my-keys-for-an-entire-database-at-a-time/3266/10 "2022-03-03T08:47:42Z")

</div>

That makes sense. It isn’t a deal-breaker, and is a lot better than editing records during the key generation and corrupting the library!
