{"id":17026073,"url":"https://github.com/MohrJonas/obsidian-ocr","last_synced_at":"2026-04-13T02:30:18.900Z","repository":{"id":41380957,"uuid":"509368503","full_name":"MohrJonas/obsidian-ocr","owner":"MohrJonas","description":"Obsidian OCR allows you to search for text in your images and pdfs","archived":false,"fork":false,"pushed_at":"2024-02-20T20:11:13.000Z","size":1552,"stargazers_count":265,"open_issues_count":10,"forks_count":5,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-04-28T04:38:10.783Z","etag":null,"topics":["hacktoberfest","obsidian-md","ocr"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MohrJonas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"ko_fi":"mohrjonas"}},"created_at":"2022-07-01T07:55:06.000Z","updated_at":"2024-04-27T12:08:23.000Z","dependencies_parsed_at":"2023-10-27T08:23:29.850Z","dependency_job_id":null,"html_url":"https://github.com/MohrJonas/obsidian-ocr","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":"obsidianmd/obsidian-sample-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohrJonas%2Fobsidian-ocr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohrJonas%2Fobsidian-ocr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohrJonas%2Fobsidian-ocr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohrJonas%2Fobsidian-ocr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MohrJonas","download_url":"https://codeload.github.com/MohrJonas/obsidian-ocr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219847890,"owners_count":16556345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","obsidian-md","ocr"],"created_at":"2024-10-14T07:30:25.556Z","updated_at":"2026-04-13T02:30:16.821Z","avatar_url":"https://github.com/MohrJonas.png","language":"TypeScript","funding_links":["https://ko-fi.com/mohrjonas"],"categories":["TypeScript"],"sub_categories":[],"readme":"![Obsidian](https://img.shields.io/badge/Obsidian-%23483699.svg?style=for-the-badge\u0026logo=obsidian\u0026logoColor=white)  \n![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)\n![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=for-the-badge\u0026logo=npm\u0026logoColor=white)\n![Git](https://img.shields.io/badge/git-%23F05033.svg?style=for-the-badge\u0026logo=git\u0026logoColor=white)\n![WebStorm](https://img.shields.io/badge/webstorm-143?style=for-the-badge\u0026logo=webstorm\u0026logoColor=white\u0026color=black)  \n![Windows](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge\u0026logo=windows\u0026logoColor=white)\n![Linux](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge\u0026logo=linux\u0026logoColor=black)\n![macOS](https://img.shields.io/badge/mac%20os-000000?style=for-the-badge\u0026logo=macos\u0026logoColor=F0F0F0)\n\n# **⚠️ Still in early development ⚠️**\n\n## Obsidian OCR\n\nObsidian OCR allows you to search for text in your images and PDFs\n\n### Installation\n\n#### Dependencies\n\n- `tesseract` for OCR\n- `imagemagick` for pdf to png conversion\n\n##### Windows\n\n###### Manual installation\n\n❗Make sure the executables are in your path. If you don't know how look\nhere: \u003chttps://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/\u003e❗\n\n- Install [tesseract](https://github.com/UB-Mannheim/tesseract/wiki)\n- Install [imagemagick](https://imagemagick.org/index.php)\n- If you want to use another language that english, you have to install it manually. (It's really simple)\n    - Go to \u003chttps://github.com/tesseract-ocr/tessdata_fast/\u003e\n    - Download the file for your language (i.e. for German download ger.traineddata)\n    - Move to file to `C:\\Program Files\\Tesseract-OCR\\tessdata`\n\n###### Automatic installation\n\n❗The automatic installation features is still in very early development. Expect bugs❗  \nℹ️ Obsidian OCR uses [chocolatey](https://chocolatey.org/) for automatic installation ℹ\n\n- Install \u0026 enable the plugin\n- Under `settings`, press the `automatic install` button\n\n##### MacOS\n\n- Install tesseract: `brew install tesseract`\n- Install tesseract-lang : `brew install tesseract-lang`\n- Install imagemagick : `brew install imagemagick`\n\nFor the path: check where the binaries are located and add these to \"/private/etc/paths\"\n(I also added them to ~/.zshrc, not sure if that is needed)\n\n- `brew list tesseract`  in my case: `/opt/homebrew/Cellar/tesseract/5.2.0/bin/`\n- `brew list tesseract-lang` in my case: `/opt/homebrew/Cellar/tesseract/5.2.0/bin/`\n- `brew list imagemagick` in my case: `/opt/homebrew/Cellar/imagemagick/7.1.0-43/bin/`\n\n##### Ubuntu\n\n###### Manual installation\n\n- Run `sudo apt install -y tesseract-ocr imagemagick`\n- Install any languages you need by installing the appropriate package (usually named `tesseract-ocr-\u003clang\u003e`)\n\n###### Automatic installation\n\n❗The automatic installation features is still in very early development. Expect bugs❗\n\n- Install \u0026 enable the plugin\n- Under `settings`, press the `automatic install` button\n\n##### Arch / Manjaro\n\n###### Manual installation\n\n- Run `sudo pacman -S tesseract imagemagick`\n- Install any languages you need by installing the appropriate package (usually named `tesseract-data-\u003clang\u003e`)\n\n###### Automatic installation\n\n❗The automatic installation features is still in very early development. Expect bugs❗\n\n- Install \u0026 enable the plugin\n- Under `settings`, press the `automatic install` button\n\n#### Flatpak\n\nIf Obsidian is running via the Flatpak installation (such as provided by default in Pop!_OS) then this plugin\nwill not operate. Flatpak sandboxing will change the filepaths so even providing host access will still be problematic.\nIf you have a Flatpak installation you will need to reinstall via a different method to successfully use this plugin.\n\n#### Plugin installation\n\n- Simply install the plugin from the community plugins\n\n### Usage\n\n- Upon enabling the plugin, you will see a progress bar in the bottom right, indicating that your vault is currently\n  being processed.\n  ![Indexing](indexing.png)\n- Upon completion, you can either use the `Search OCR` command or the `magnifying-glass icon` in the ribbon to open the\n  search menu.\n  ![SearchModal](search-modal.png)\n- When adding a new PDF / PNG to your vault, the file is automatically being searched for text.\n- Upon starting Obsidian, you will now see another progress bar, indicating that all transcripts are being cached.  \n  ![Caching](caching.png)\n\n### Settings\n\nObsidian OCR offers a variety of settings you can configure yourself.\n\n|            Name             |                                                           Description                                                           | Default |\n|:---------------------------:|:-------------------------------------------------------------------------------------------------------------------------------:|:-------:|\n|      Max OCR Processes      |  The maximum amount of ocr processes running at the same time. Increasing this speeds up indexing but also increases cpu usage  |    1    |\n|    Max caching processes    | The maximum amount of caching processes running at the same time. Increaing this speeds up caching but also increases cpu usage |   10    |\n|          OCR Image          |                                   Decides whether or not images (.png, .jpg, .jpeg) are OCRed                                   |  true   |\n|           OCR PDF           |                                          Decides whether or not PDFs (.pdf) are OCRed                                           |  true   |\n|        Image density        |            The density of generated PNGs, in dpi. Increasing this helps to OCR smaller text, but increases cpu usage            |   300   |\n|        Image quality        |                The quality of generated PNGs. Increasing this helps to OCR smaller text, but increaes cpu usage                 |   98    |\n| Additional imagemagick args |                     Additional commandline arguments passed to imagemagick when converting a PDF to PNG(s)                      |         |\n|   Additional search paths   |  Additional paths that will be searched when looking for external dependencies. Useful when installing into custom directories  |         |\n|        OCR Provider         |                          The OCR provider that will be used. See below for a description of providers                           |  NoOp   |\n\n### OCR Providers\n\n#### List of OCR providers\n\n| Name      | Description                                                                                                                                                          |\n|-----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| NoOp      | The NoOp (no operation) provider does, as the name implies, nothing and is only a dummy provider. To get real OCR capability, you have to switch to another provider |\n| Tesseract | OCR provider using [tesseract](https://tesseract-ocr.github.io/) to OCR documents locally on your computer                                                           |\n\n##### Tesseract\n\nBy default, tesseract offers two languages to choose from: `eng` and `osd`.\n\n- Osd isn't a language, but rather stands for `Orientation and script detection` and is therefore not useful for our\n  use.\n- Eng stands for english and should be chosen if your documents are written in english.\n\nℹ After switching your language, only newly indexed documents use the new language. You can reindex your already added\ndocuments by using the `Delete all transcripts` command ℹ\n\n###### Lang vs Script\n\nTesseract supports `langs` and `scripts` for text recognition.\n- Langs support a single language\n- Scripts support multiple languages with similar characters. Latin, for example, supports all latin-based languages (English, German, Italian, France, ...) except for Vietnamese\n\n#### Custom OCR providers\n\nTo add a custom OCR provider, create a new class that extends `OCRProvider` and register it\nusing `OCRProviderManager.registerOCRProviders(new MyCustomProvider())`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMohrJonas%2Fobsidian-ocr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMohrJonas%2Fobsidian-ocr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMohrJonas%2Fobsidian-ocr/lists"}