title |
Supported Filetypes |
This is a list of all filetypes Hydrus can import. Hydrus determines the filetype based on examining the file itself rather than the extension or MIME type.
The filetype for a file can be overridden with manage -> force filetype
in the context menu for a file.
Images
Filetype |
Extension |
MIME type |
Thumbnails |
Viewable in Hydrus |
Notes |
jpeg |
.jpeg |
image/jpeg |
✅ |
✅ |
|
png |
.png |
image/png |
✅ |
✅ |
|
static gif |
.gif |
image/gif |
✅ |
✅ |
|
webp |
.webp |
image/webp |
✅ |
✅ |
|
avif |
.avif |
image/avif |
✅ |
✅ |
|
bitmap |
.bmp |
image/bmp |
✅ |
✅ |
|
heic |
.heic |
image/heic |
✅ |
✅ |
|
heif |
.heif |
image/heif |
✅ |
✅ |
|
icon |
.ico |
image/x-icon |
✅ |
✅ |
|
qoi |
.qoi |
image/qoi |
✅ |
✅ |
Quite OK Image Format |
tiff |
.tiff |
image/tiff |
✅ |
✅ |
|
Animations
Filetype |
Extension |
MIME type |
Thumbnails |
Viewable in Hydrus |
Notes |
animated gif |
.gif |
image/gif |
✅ |
✅ |
|
apng |
.apng |
image/apng |
✅ |
✅ |
|
animated webp |
.webp |
image/webp |
✅ |
✅ |
|
avif sequence |
.avifs |
image/avif-sequence |
✅ |
✅ |
|
heic sequence |
.heics |
image/heic-sequence |
✅ |
✅ |
|
heif sequence |
.heifs |
image/heif-sequence |
✅ |
✅ |
|
ugoira |
.zip |
application/zip |
✅ |
⚠️ |
More info |
Ugoira
Pixiv Ugoira format is a custom animation format used by Pixiv. The Pixiv API provides a list of frame files (normally JPEG or PNG) and their durations. The frames can be stored in a ZIP file along with a JSON file containing the frame and duration information. A zip file containing images with 6 digit zero-padded filenames will be identified as a Ugoira file in hydrus.
If there are no frame durations provided hydrus will assume each frame should last 125ms. Hydrus will look inside the zip for a file called animation.json
and try to parse it as the 2 most common metadata formats that PixivUtil and gallery-dl generate. The Ugoira file will only have a duration in the database if it contains a valid animation.json
.
When played hydrus will first attempt to use the animation.json
file, but if that does not exist, it will look for notes containing frame delays. First it looks for a note named ugoira json
and attempts to read it like the animation.json
, it then looks for a note called ugoira frame delay array
which should be a note containing a simple JSON array, for example: #!json [90, 90, 40, 90]
.
Video
Filetype |
Extension |
MIME type |
Thumbnails |
Viewable in Hydrus |
Notes |
mp4 |
.mp4 |
video/mp4 |
✅ |
✅ |
|
webm |
.webm |
video/webm |
✅ |
✅ |
|
matroska |
.mkv |
video/x-matroska |
✅ |
✅ |
|
avi |
.avi |
video/x-msvideo |
✅ |
✅ |
|
flv |
.flv |
video/x-flv |
✅ |
✅ |
|
quicktime |
.mov |
video/quicktime |
✅ |
✅ |
|
mpeg |
.mpeg |
video/mpeg |
✅ |
✅ |
|
ogv |
.ogv |
video/ogg |
✅ |
✅ |
|
realvideo |
.rm |
video/vnd.rn-realvideo |
✅ |
✅ |
|
wmv |
.wmv |
video/x-ms-wmv |
✅ |
✅ |
|
Audio
Filetype |
Extension |
MIME type |
Viewable in Hydrus |
Notes |
mp3 |
.mp3 |
audio/mp3 |
✅ |
|
ogg |
.ogg |
audio/ogg |
✅ |
|
flac |
.flac |
audio/flac |
✅ |
|
m4a |
.m4a |
audio/mp4 |
✅ |
|
matroska audio |
.mkv |
audio/x-matroska |
✅ |
|
mp4 audio |
.mp4 |
audio/mp4 |
✅ |
|
realaudio |
.ra |
audio/vnd.rn-realaudio |
✅ |
|
tta |
.tta |
audio/x-tta |
✅ |
|
wave |
.wav |
audio/x-wav |
✅ |
|
wavpack |
.wv |
audio/wavpack |
✅ |
|
wma |
.wma |
audio/x-ms-wma |
✅ |
|
Applications
Filetype |
Extension |
MIME type |
Thumbnails |
Viewable in Hydrus |
Notes |
flash |
.swf |
application/x-shockwave-flash |
✅ |
❌ |
|
pdf |
.pdf |
application/pdf |
✅ |
❌ |
300 DPI assumed for resolution. No thumbnails for encrypted PDFs. |
epub |
.epub |
application/epub+zip |
❌ |
❌ |
|
djvu |
.djvu |
image/vnd.djvu |
❌ |
❌ |
|
docx |
.docx |
application/vnd.openxmlformats-officedocument.wordprocessingml.document |
❌ |
❌ |
|
xlsx |
.xlsx |
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
❌ |
❌ |
|
pptx |
.pptx |
application/vnd.openxmlformats-officedocument.presentationml.presentation |
✅ |
❌ |
300 DPI assumed for resolution. Thumbnail only if embedded in the document |
doc |
.doc |
application/msword |
❌ |
❌ |
|
xls |
.xls |
application/vnd.ms-excel |
❌ |
❌ |
|
ppt |
.ppt |
application/vnd.ms-powerpoint |
❌ |
❌ |
|
rtf |
.rtf |
application/rtf |
❌ |
❌ |
|
Image Project Files
Filetype |
Extension |
MIME type |
Thumbnails |
Viewable in Hydrus |
Notes |
clip |
.clip |
application/clip 1 |
✅ |
❌ |
Clip Studio Paint |
krita |
.kra |
application/x-krita |
✅ |
✅ |
Krita. Hydrus shows the embedded preview image if present in the file. |
procreate |
.procreate |
application/x-procreate 1 |
✅ |
❌ |
Procreate app |
psd |
.psd |
image/vnd.adobe.photoshop |
✅ |
✅ |
Adobe Photoshop. Hydrus shows the embedded preview image if present in the file. |
sai2 |
.sai2 |
application/sai2 1 |
❌ |
❌ |
PaintTool SAI2 |
svg |
.svg |
image/svg+xml |
✅ |
❌ |
|
xcf |
.xcf |
application/x-xcf |
❌ |
❌ |
GIMP |
Archives
Filetype |
Extension |
MIME type |
Thumbnails |
Notes |
cbz |
.cbz |
application/vnd.comicbook+zip |
✅ |
A zip file containing images with incrementing numbers in their filenames will be identified as a cbz file. The code for identifying a cbz file is in hydrus/core/files/HydrusArchiveHandling.py |
7z |
.7z |
application/x-7z-compressed |
❌ |
|
gzip |
.gz |
application/gzip |
❌ |
|
rar |
.rar |
application/vnd.rar |
❌ |
|
zip |
.zip |
application/zip |
❌ |
|
-
This filetype doesn't have an official or de facto media type, the one listed was made up for Hydrus. ↩︎