This project is not covered by Drupal’s security advisory policy.

Drupal 7+, depreciated in favor of pathologic.

Path Filter takes internal Drupal paths in single or double quotes, written as e.g. "internal:node/99", and replaces them with the appropriate absolute HTTP URL or path using Drupal's url() function. It also works for files in your files directory using Drupal's file_create_url() function. It works with clean URLs enabled or disabled as well as working equally well for single site or multisite installations.

The motivation for this filter was to provide a robust way of linking to internal URLs from within content, so that your links do not break if you move your site to a different path (e.g. from a development site at to a production site at

Nodes and system paths (internal:)

internal: for nodes and system paths.

Suppose your site is located at '', clean URLs are enabled, and 'node/99' has a URL alias of 'news/latest'. The following are some examples of the replacements performed by the 'internal:' filter.

  "internal:admin/user"    ->  ""
  "internal:node/23"       ->  ""
  "internal:node/99"       ->  ""
  "internal:node/99?page=1#section2" -> ""

Files in your site's files directory (files:)

files: for in your site's files directory.

As of version 2, Path Filter allows you to reference files in your site's files directory in a consistent manor, helping to alleviate any problems down the line if you decide to move your files directory (for example, when moving to or from a multisite setup). The following are some examples of the replacements performed by the 'files:' filter.

  "files:image1.jpg"         ->  ""
  "files:images/image2.jpg"  ->  ""

Automatic conversion

Path Filter can do the job of adding 'internal:' or 'files:' for you, relieving you of the task, but ensuring that your links still get saved in the proper format.

Note: This module used to be named URL Alias Filter, but has been merged with work done by Ray Zimmerman.

Project Information